From d25c65aabc767b2d71a9146e9157d6e1592f9414 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 30 Oct 2023 04:20:46 +0000 Subject: [PATCH] deploy: 77b50a98b921f3f41f41763eabcb4f370f91d1ee --- 200.html | 40 +++---- 404.html | 40 +++---- __studio.json | 2 +- .../{Badge.7e0c9ea2.js => Badge.436f1233.js} | 2 +- ...Hero.095a9d6e.js => BlockHero.b705cb9e.js} | 2 +- ...ink.be07cd74.js => ButtonLink.8382d34b.js} | 2 +- ...allout.4b7680eb.js => Callout.afe9558a.js} | 2 +- _nuxt/{Card.60fb4ab4.js => Card.6f9ae951.js} | 2 +- ...dGrid.0ef7b911.js => CardGrid.0b546144.js} | 2 +- _nuxt/ChallengeV2.40fb78ea.js | 1 - _nuxt/ChallengeV2.ccc7d751.js | 1 + ...0d977f0.js => ChallengeV2.vue.16fe6184.js} | 2 +- ...6d088c7.js => ChallengeV2Demo.a2372507.js} | 2 +- _nuxt/ChallengeV3.05eab444.js | 1 + _nuxt/ChallengeV3.70fdc96c.js | 1 - ...80b4ea1.js => ChallengeV3.vue.79fc99d7.js} | 2 +- ...78ed68a.js => ChallengeV3Demo.34b7cb9e.js} | 2 +- _nuxt/Checkbox.5aac6a53.js | 1 + _nuxt/Checkbox.ed2e3248.js | 1 - ...e.e1e63870.js => Checkbox.vue.22eca99b.js} | 2 +- ...o.81292d3d.js => CheckboxDemo.1ab6bf90.js} | 2 +- ...lock.f67cfd2d.js => CodeBlock.2c1efb8e.js} | 2 +- ...roup.3a900a65.js => CodeGroup.84dd6be9.js} | 2 +- ...88c.js => ComponentPlayground.964c5313.js} | 2 +- ...js => ComponentPlaygroundData.9e3ab38d.js} | 2 +- ...s => ComponentPlaygroundProps.d5cd8e19.js} | 2 +- _nuxt/ComponentPlaygroundSlots.4301dc9f.js | 1 - _nuxt/ComponentPlaygroundSlots.ba4539e6.js | 1 + ... ComponentPlaygroundSlots.vue.013615f2.js} | 2 +- _nuxt/ComponentPlaygroundTokens.0c5cff43.js | 1 + _nuxt/ComponentPlaygroundTokens.68c43e3d.js | 1 - ...ComponentPlaygroundTokens.vue.005e5c3f.js} | 2 +- ...Doc.0106fa62.js => ContentDoc.65d89f43.js} | 2 +- ...st.cc4288fa.js => ContentList.99a21dce.js} | 2 +- ...ab3c2.js => ContentNavigation.4c75c3d2.js} | 2 +- ...y.d94c323c.js => ContentQuery.edc0febd.js} | 2 +- ...01e652b.js => ContentRenderer.a1404e70.js} | 2 +- _nuxt/ContentRendererMarkdown.15b4a41e.js | 1 + _nuxt/ContentRendererMarkdown.c2c69b92.js | 1 - ...> ContentRendererMarkdown.vue.fe8f4dc4.js} | 2 +- _nuxt/ContentSlot.6e2f60c7.js | 1 + _nuxt/ContentSlot.986d1206.js | 1 - ...ton.f147b136.js => CopyButton.b27b2843.js} | 2 +- ...side.86314fc7.js => DocsAside.bdbf484f.js} | 2 +- ...2edd582e.js => DocsPageBottom.b0b9f9d3.js} | 2 +- ...0dafd259.js => DocsPageLayout.7eba96e1.js} | 2 +- ...t.7f7ab9fd.js => DocsPrevNext.989e1fbe.js} | 2 +- ...ocsToc.fca90c35.js => DocsToc.1f359282.js} | 2 +- ...s.70fbf435.js => DocsTocLinks.133b0863.js} | 2 +- ...757.js => DocumentDrivenEmpty.379fad62.js} | 2 +- ....js => DocumentDrivenNotFound.d21cbdd8.js} | 2 +- _nuxt/EditOnLink.0677ef74.js | 1 + _nuxt/EditOnLink.fb7500ff.js | 1 - ...5b1c415a.js => EditOnLink.vue.2bb154e2.js} | 2 +- ...ipsis.9363fc3d.js => Ellipsis.5a6c5682.js} | 2 +- ...conCSS.f3b25988.js => IconCSS.be4af4a0.js} | 2 +- ...9323fb9.js => IconCodeSandBox.3e7cdd67.js} | 2 +- ...ocus.65790934.js => IconDocus.26ecb9c2.js} | 2 +- ...nNuxt.563559a0.js => IconNuxt.b42a97e3.js} | 2 +- ...63559a0.js => IconNuxtContent.b42a97e3.js} | 2 +- ...s.bd12f84c.js => IconNuxtLabs.96bf357b.js} | 2 +- ...89a024e5.js => IconNuxtStudio.90196f3a.js} | 2 +- ...c8986475.js => IconStackBlitz.9bead4b1.js} | 2 +- ...f24d0b.js => IconVueTelescope.d47d11f1.js} | 2 +- ...Demo.a6de7ca2.js => IndexDemo.b5eb16e1.js} | 2 +- _nuxt/{List.c0882b26.js => List.ac97ce53.js} | 2 +- ...DCSlot.eead73a2.js => MDCSlot.6bf01385.js} | 2 +- _nuxt/Markdown.1bb9ca3e.js | 1 - _nuxt/Markdown.26ba9b24.js | 1 + ...ermaid.60c6be54.js => Mermaid.0e308ec0.js} | 2 +- _nuxt/NuxtImg.097f1e99.js | 1 + _nuxt/NuxtImg.75a551c9.js | 1 - ...ue.b90fde17.js => NuxtImg.vue.e55e6bf2.js} | 2 +- ....dffb4a1b.js => PreviewLayout.b72ee82f.js} | 2 +- ....f4f8ca29.js => PrimaryButton.f52dfa59.js} | 2 +- .../{Props.7a12102e.js => Props.112b3d14.js} | 2 +- ...{ProseA.1e07e3b7.js => ProseA.3b23d1db.js} | 2 +- ...3a198b5.js => ProseBlockquote.fce01a65.js} | 2 +- ...Code.6f638cb3.js => ProseCode.17426633.js} | 2 +- ...8352ab0.js => ProseCodeInline.9c9d33d7.js} | 2 +- ...roseEm.afdd4669.js => ProseEm.b4bfd934.js} | 2 +- ...roseH1.206d23c3.js => ProseH1.8b960107.js} | 2 +- ...roseH2.d7e869ee.js => ProseH2.764ace8e.js} | 2 +- ...roseH3.202c0d8e.js => ProseH3.54312fcb.js} | 2 +- ...roseH4.a256f8e8.js => ProseH4.9099838c.js} | 2 +- ...roseH5.a5742ebc.js => ProseH5.c7b907e8.js} | 2 +- ...roseH6.26705e6e.js => ProseH6.eb0d4c67.js} | 2 +- ...roseHr.0de9504d.js => ProseHr.ed5dea36.js} | 2 +- ...seImg.ca319b2b.js => ProseImg.6c526aec.js} | 2 +- ...roseLi.d717e006.js => ProseLi.63d33c9f.js} | 2 +- ...roseOl.34fa238a.js => ProseOl.52c1e340.js} | 2 +- ...{ProseP.6f520d03.js => ProseP.4963ee57.js} | 2 +- ...sePre.2eed70cd.js => ProsePre.c0d8a25c.js} | 2 +- ...ng.024252fc.js => ProseStrong.f37f0507.js} | 2 +- ...ble.64fc60e6.js => ProseTable.0daabad2.js} | 2 +- ...ody.92747366.js => ProseTbody.09a535b9.js} | 2 +- ...roseTd.765a7462.js => ProseTd.8928ab13.js} | 2 +- ...roseTh.9385b277.js => ProseTh.0ea95150.js} | 2 +- ...ead.4aa296f7.js => ProseThead.9910ba3b.js} | 2 +- ...roseTr.549babfe.js => ProseTr.ad4040b6.js} | 2 +- ...roseUl.48b03ac2.js => ProseUl.d083731b.js} | 2 +- ...andbox.a29cbafc.js => Sandbox.e79006f2.js} | 2 +- _nuxt/SourceLink.5afa9492.js | 1 - _nuxt/SourceLink.9336f6e0.js | 1 + ...der.aa83efec.js => TabsHeader.dd0c96ba.js} | 2 +- ...minal.d38677a0.js => Terminal.c1821b13.js} | 2 +- _nuxt/ThemeButton.22e5afa3.js | 1 - _nuxt/ThemeButton.7f292234.js | 1 + ...3d3d21a.js => ThemeButton.vue.199003f5.js} | 2 +- ...8b3cae.js => TokensPlayground.0b65ed3a.js} | 2 +- ...f24.js => VeeValidateCheckbox.3384ca47.js} | 2 +- ...ed.js => VeeValidateInvisible.7ad8dce5.js} | 2 +- ...er.b5a8aa7e.js => VideoPlayer.bd73326f.js} | 2 +- ...ard.c40363f6.js => VoltaBoard.b7bae88a.js} | 2 +- _nuxt/{arc.98e8e146.js => arc.16fae886.js} | 2 +- _nuxt/builds/latest.json | 2 +- .../87dce3ed-cb68-4b5f-a28b-3b9ddc96cf0b.json | 1 - .../9ce7ac57-00c3-4da6-bc51-adf6ef24b928.json | 1 + ...0b1d.js => c4Diagram-44c43e89.598c20e5.js} | 2 +- ...e.js => classDiagram-634fc78b.3ad17352.js} | 2 +- ...s => classDiagram-v2-72bddc41.a5e950e0.js} | 2 +- ...t-db.489138a3.js => client-db.cf635550.js} | 2 +- ...2.05f6057d.js => component-v2.4f123e31.js} | 2 +- ...ed0.js => createText-1f5f8f92.9af55188.js} | 2 +- .../{debug.cb4eef07.js => debug.b592e5b6.js} | 2 +- _nuxt/default.972a2835.js | 1 + _nuxt/default.c3a17007.js | 1 - ...da7789d.js => document-driven.380c4d19.js} | 2 +- ...ce02d1cb.js => edges-2e77835f.ec894958.js} | 2 +- .../{entry.8cfa8efb.js => entry.363473ce.js} | 6 +- ...aae2.js => erDiagram-20cc9db4.a89bb4e0.js} | 2 +- ...-404.9527bfb6.js => error-404.0556730f.js} | 2 +- ...-500.ad84f558.js => error-500.599ae020.js} | 2 +- ...b23ed64.js => flowDb-52e24d17.7a28c8bc.js} | 2 +- ...a3.js => flowDiagram-46a15f6f.b33a89eb.js} | 2 +- _nuxt/flowDiagram-v2-8e52592d.b0431b00.js | 1 - _nuxt/flowDiagram-v2-8e52592d.ea8f8dbe.js | 1 + ...chart-elk-definition-a44a74cb.2e91d6bb.js} | 2 +- ...a.js => ganttDiagram-04e74c0a.79b32038.js} | 2 +- ...s => gitGraphDiagram-0a645df6.9a215aa5.js} | 2 +- ...c6c2c006.js => index-5219d011.3b2aa214.js} | 2 +- ....esm.46f16923.js => index.esm.acb89b47.js} | 2 +- ...8c.js => infoDiagram-69ec1a58.344cc858.js} | 2 +- ...s_dark.4ca1afaa.js => is_dark.0e136d46.js} | 2 +- ...js => journeyDiagram-d38aa57d.31553d3d.js} | 2 +- ...{layout.e490e9ef.js => layout.11303474.js} | 2 +- _nuxt/{line.dc626553.js => line.2cebc606.js} | 2 +- ...e.6d8597df.js => mermaid.core.bd97f718.js} | 6 +- ...> mindmap-definition-65b51176.3be4f017.js} | 2 +- _nuxt/{page.46aa918a.js => page.ecaaff9e.js} | 2 +- ...b83.js => pieDiagram-db1a8a21.c86cd96c.js} | 2 +- ...> requirementDiagram-b9649942.0b67fd69.js} | 2 +- ...tAll.3bc18744.js => selectAll.41f6743d.js} | 2 +- ...s => sequenceDiagram-446df3e4.3875c8cc.js} | 2 +- ...8.js => stateDiagram-d53d2428.fce45b47.js} | 2 +- ...s => stateDiagram-v2-9765461d.321e8498.js} | 2 +- ...469fafb.js => styles-16907e1b.a9f67e6d.js} | 2 +- ...5ae6569.js => styles-26373982.92ac74e5.js} | 2 +- ...4d20f6f.js => styles-47a825a5.f21cee13.js} | 2 +- ...c6d93d.js => svgDraw-2526cba0.1cdd2cec.js} | 2 +- ... timeline-definition-de69aca6.8dd8ddd6.js} | 2 +- ...udio.810b15ce.js => useStudio.f0112abf.js} | 2 +- _payload.json | 2 +- .../_payload.json | 2 +- .../index.html | 70 ++++++------ ...98573480.json => cache.1698639588562.json} | 2 +- ...480.json => u7BbTyuhiE.1698639588562.json} | 0 ...480.json => 5o97oNYApY.1698639588562.json} | 0 ...480.json => 6Ma98zDOAL.1698639588562.json} | 0 ...480.json => 71x6tI7TZ6.1698639588562.json} | 0 ...480.json => 7iVMcekoeE.1698639588562.json} | 0 ...480.json => M3XVXw3HJU.1698639588562.json} | 0 ...480.json => MNRZfjwhUr.1698639588562.json} | 0 ...480.json => RR98Iqj5nh.1698639588562.json} | 0 ...480.json => SeoqWQG0fS.1698639588562.json} | 0 ...480.json => T9GHEEsuxc.1698639588562.json} | 0 ...480.json => TdqgdZYwVh.1698639588562.json} | 0 ...480.json => a9mJ5sb0Ut.1698639588562.json} | 0 ...480.json => brX4CwCJoQ.1698639588562.json} | 0 ...480.json => cYHfkdXNA9.1698639588562.json} | 0 ...480.json => cwi4DXcuTN.1698639588562.json} | 0 ...480.json => enlVh97sWo.1698639588562.json} | 0 ...480.json => ilY3438huT.1698639588562.json} | 0 ...480.json => llVwSUGQ8t.1698639588562.json} | 0 ...480.json => nEtvTjdOht.1698639588562.json} | 0 ...480.json => nkLpzwYCmw.1698639588562.json} | 0 ...480.json => o37MdY9M7h.1698639588562.json} | 0 ...480.json => qD1kmuf7LZ.1698639588562.json} | 0 ...480.json => qI1iJDV4vv.1698639588562.json} | 0 ...480.json => qIaVkSSVbL.1698639588562.json} | 0 ...480.json => s1rpjBKntu.1698639588562.json} | 0 ...480.json => udG4RswcBp.1698639588562.json} | 0 ...480.json => wrDfznErw4.1698639588562.json} | 0 ...480.json => xIJVJksIkT.1698639588562.json} | 0 ...480.json => xWeY3NfYtX.1698639588562.json} | 0 ...480.json => y5OZXjriWq.1698639588562.json} | 0 ...480.json => zlYjVpH9OK.1698639588562.json} | 0 components/_payload.json | 2 +- components/challenge-v2/_payload.json | 2 +- components/challenge-v2/index.html | 106 +++++++++--------- components/challenge-v3/_payload.json | 2 +- components/challenge-v3/index.html | 102 ++++++++--------- components/checkbox/_payload.json | 2 +- components/checkbox/index.html | 104 ++++++++--------- components/index.html | 82 +++++++------- composables/challenge-v2/_payload.json | 2 +- composables/challenge-v2/index.html | 74 ++++++------ composables/challenge-v3/_payload.json | 2 +- composables/challenge-v3/index.html | 76 ++++++------- composables/recaptcha-provider/_payload.json | 2 +- composables/recaptcha-provider/index.html | 68 +++++------ guide/_payload.json | 2 +- guide/enterprise/_payload.json | 2 +- guide/enterprise/index.html | 72 ++++++------ guide/faq/_payload.json | 2 +- guide/faq/index.html | 66 +++++------ guide/index.html | 82 +++++++------- guide/migration/_payload.json | 2 +- guide/migration/index.html | 72 ++++++------ guide/nuxt/_payload.json | 2 +- guide/nuxt/index.html | 84 +++++++------- index.html | 88 +++++++-------- integration/vee-validation/_payload.json | 2 +- integration/vee-validation/index.html | 92 +++++++-------- 224 files changed, 824 insertions(+), 824 deletions(-) rename _nuxt/{Badge.7e0c9ea2.js => Badge.436f1233.js} (68%) rename _nuxt/{BlockHero.095a9d6e.js => BlockHero.b705cb9e.js} (85%) rename _nuxt/{ButtonLink.be07cd74.js => ButtonLink.8382d34b.js} (91%) rename _nuxt/{Callout.4b7680eb.js => Callout.afe9558a.js} (92%) rename _nuxt/{Card.60fb4ab4.js => Card.6f9ae951.js} (89%) rename _nuxt/{CardGrid.0ef7b911.js => CardGrid.0b546144.js} (87%) delete mode 100644 _nuxt/ChallengeV2.40fb78ea.js create mode 100644 _nuxt/ChallengeV2.ccc7d751.js rename _nuxt/{ChallengeV2.vue.60d977f0.js => ChallengeV2.vue.16fe6184.js} (85%) rename _nuxt/{ChallengeV2Demo.a6d088c7.js => ChallengeV2Demo.a2372507.js} (62%) create mode 100644 _nuxt/ChallengeV3.05eab444.js delete mode 100644 _nuxt/ChallengeV3.70fdc96c.js rename _nuxt/{ChallengeV3.vue.f80b4ea1.js => ChallengeV3.vue.79fc99d7.js} (81%) rename _nuxt/{ChallengeV3Demo.f78ed68a.js => ChallengeV3Demo.34b7cb9e.js} (66%) create mode 100644 _nuxt/Checkbox.5aac6a53.js delete mode 100644 _nuxt/Checkbox.ed2e3248.js rename _nuxt/{Checkbox.vue.e1e63870.js => Checkbox.vue.22eca99b.js} (75%) rename _nuxt/{CheckboxDemo.81292d3d.js => CheckboxDemo.1ab6bf90.js} (64%) rename _nuxt/{CodeBlock.f67cfd2d.js => CodeBlock.2c1efb8e.js} (70%) rename _nuxt/{CodeGroup.3a900a65.js => CodeGroup.84dd6be9.js} (88%) rename _nuxt/{ComponentPlayground.11b3f88c.js => ComponentPlayground.964c5313.js} (85%) rename _nuxt/{ComponentPlaygroundData.2d0a6c03.js => ComponentPlaygroundData.9e3ab38d.js} (63%) rename _nuxt/{ComponentPlaygroundProps.71d840f7.js => ComponentPlaygroundProps.d5cd8e19.js} (81%) delete mode 100644 _nuxt/ComponentPlaygroundSlots.4301dc9f.js create mode 100644 _nuxt/ComponentPlaygroundSlots.ba4539e6.js rename _nuxt/{ComponentPlaygroundSlots.vue.684177d6.js => ComponentPlaygroundSlots.vue.013615f2.js} (80%) create mode 100644 _nuxt/ComponentPlaygroundTokens.0c5cff43.js delete mode 100644 _nuxt/ComponentPlaygroundTokens.68c43e3d.js rename _nuxt/{ComponentPlaygroundTokens.vue.bfbe3b4d.js => ComponentPlaygroundTokens.vue.005e5c3f.js} (77%) rename _nuxt/{ContentDoc.0106fa62.js => ContentDoc.65d89f43.js} (86%) rename _nuxt/{ContentList.cc4288fa.js => ContentList.99a21dce.js} (84%) rename _nuxt/{ContentNavigation.ba6ab3c2.js => ContentNavigation.4c75c3d2.js} (92%) rename _nuxt/{ContentQuery.d94c323c.js => ContentQuery.edc0febd.js} (97%) rename _nuxt/{ContentRenderer.301e652b.js => ContentRenderer.a1404e70.js} (89%) create mode 100644 _nuxt/ContentRendererMarkdown.15b4a41e.js delete mode 100644 _nuxt/ContentRendererMarkdown.c2c69b92.js rename _nuxt/{ContentRendererMarkdown.vue.498723d7.js => ContentRendererMarkdown.vue.fe8f4dc4.js} (99%) create mode 100644 _nuxt/ContentSlot.6e2f60c7.js delete mode 100644 _nuxt/ContentSlot.986d1206.js rename _nuxt/{CopyButton.f147b136.js => CopyButton.b27b2843.js} (90%) rename _nuxt/{DocsAside.86314fc7.js => DocsAside.bdbf484f.js} (89%) rename _nuxt/{DocsPageBottom.2edd582e.js => DocsPageBottom.b0b9f9d3.js} (87%) rename _nuxt/{DocsPageLayout.0dafd259.js => DocsPageLayout.7eba96e1.js} (85%) rename _nuxt/{DocsPrevNext.7f7ab9fd.js => DocsPrevNext.989e1fbe.js} (95%) rename _nuxt/{DocsToc.fca90c35.js => DocsToc.1f359282.js} (80%) rename _nuxt/{DocsTocLinks.70fbf435.js => DocsTocLinks.133b0863.js} (96%) rename _nuxt/{DocumentDrivenEmpty.a7380757.js => DocumentDrivenEmpty.379fad62.js} (77%) rename _nuxt/{DocumentDrivenNotFound.9e790dc8.js => DocumentDrivenNotFound.d21cbdd8.js} (81%) create mode 100644 _nuxt/EditOnLink.0677ef74.js delete mode 100644 _nuxt/EditOnLink.fb7500ff.js rename _nuxt/{EditOnLink.vue.5b1c415a.js => EditOnLink.vue.2bb154e2.js} (94%) rename _nuxt/{Ellipsis.9363fc3d.js => Ellipsis.5a6c5682.js} (95%) rename _nuxt/{IconCSS.f3b25988.js => IconCSS.be4af4a0.js} (92%) rename _nuxt/{IconCodeSandBox.c9323fb9.js => IconCodeSandBox.3e7cdd67.js} (85%) rename _nuxt/{IconDocus.65790934.js => IconDocus.26ecb9c2.js} (91%) rename _nuxt/{IconNuxt.563559a0.js => IconNuxt.b42a97e3.js} (94%) rename _nuxt/{IconNuxtContent.563559a0.js => IconNuxtContent.b42a97e3.js} (94%) rename _nuxt/{IconNuxtLabs.bd12f84c.js => IconNuxtLabs.96bf357b.js} (94%) rename _nuxt/{IconNuxtStudio.89a024e5.js => IconNuxtStudio.90196f3a.js} (89%) rename _nuxt/{IconStackBlitz.c8986475.js => IconStackBlitz.9bead4b1.js} (82%) rename _nuxt/{IconVueTelescope.d0f24d0b.js => IconVueTelescope.d47d11f1.js} (91%) rename _nuxt/{IndexDemo.a6de7ca2.js => IndexDemo.b5eb16e1.js} (75%) rename _nuxt/{List.c0882b26.js => List.ac97ce53.js} (85%) rename _nuxt/{MDCSlot.eead73a2.js => MDCSlot.6bf01385.js} (91%) delete mode 100644 _nuxt/Markdown.1bb9ca3e.js create mode 100644 _nuxt/Markdown.26ba9b24.js rename _nuxt/{Mermaid.60c6be54.js => Mermaid.0e308ec0.js} (74%) create mode 100644 _nuxt/NuxtImg.097f1e99.js delete mode 100644 _nuxt/NuxtImg.75a551c9.js rename _nuxt/{NuxtImg.vue.b90fde17.js => NuxtImg.vue.e55e6bf2.js} (89%) rename _nuxt/{PreviewLayout.dffb4a1b.js => PreviewLayout.b72ee82f.js} (75%) rename _nuxt/{PrimaryButton.f4f8ca29.js => PrimaryButton.f52dfa59.js} (75%) rename _nuxt/{Props.7a12102e.js => Props.112b3d14.js} (87%) rename _nuxt/{ProseA.1e07e3b7.js => ProseA.3b23d1db.js} (84%) rename _nuxt/{ProseBlockquote.83a198b5.js => ProseBlockquote.fce01a65.js} (72%) rename _nuxt/{ProseCode.6f638cb3.js => ProseCode.17426633.js} (96%) rename _nuxt/{ProseCodeInline.b8352ab0.js => ProseCodeInline.9c9d33d7.js} (72%) rename _nuxt/{ProseEm.afdd4669.js => ProseEm.b4bfd934.js} (72%) rename _nuxt/{ProseH1.206d23c3.js => ProseH1.8b960107.js} (91%) rename _nuxt/{ProseH2.d7e869ee.js => ProseH2.764ace8e.js} (91%) rename _nuxt/{ProseH3.202c0d8e.js => ProseH3.54312fcb.js} (91%) rename _nuxt/{ProseH4.a256f8e8.js => ProseH4.9099838c.js} (91%) rename _nuxt/{ProseH5.a5742ebc.js => ProseH5.c7b907e8.js} (91%) rename _nuxt/{ProseH6.26705e6e.js => ProseH6.eb0d4c67.js} (91%) rename _nuxt/{ProseHr.0de9504d.js => ProseHr.ed5dea36.js} (64%) rename _nuxt/{ProseImg.ca319b2b.js => ProseImg.6c526aec.js} (89%) rename _nuxt/{ProseLi.d717e006.js => ProseLi.63d33c9f.js} (72%) rename _nuxt/{ProseOl.34fa238a.js => ProseOl.52c1e340.js} (72%) rename _nuxt/{ProseP.6f520d03.js => ProseP.4963ee57.js} (72%) rename _nuxt/{ProsePre.2eed70cd.js => ProsePre.c0d8a25c.js} (82%) rename _nuxt/{ProseStrong.024252fc.js => ProseStrong.f37f0507.js} (72%) rename _nuxt/{ProseTable.64fc60e6.js => ProseTable.0daabad2.js} (77%) rename _nuxt/{ProseTbody.92747366.js => ProseTbody.09a535b9.js} (66%) rename _nuxt/{ProseTd.765a7462.js => ProseTd.8928ab13.js} (72%) rename _nuxt/{ProseTh.9385b277.js => ProseTh.0ea95150.js} (72%) rename _nuxt/{ProseThead.4aa296f7.js => ProseThead.9910ba3b.js} (72%) rename _nuxt/{ProseTr.549babfe.js => ProseTr.ad4040b6.js} (72%) rename _nuxt/{ProseUl.48b03ac2.js => ProseUl.d083731b.js} (72%) rename _nuxt/{Sandbox.a29cbafc.js => Sandbox.e79006f2.js} (86%) delete mode 100644 _nuxt/SourceLink.5afa9492.js create mode 100644 _nuxt/SourceLink.9336f6e0.js rename _nuxt/{TabsHeader.aa83efec.js => TabsHeader.dd0c96ba.js} (94%) rename _nuxt/{Terminal.d38677a0.js => Terminal.c1821b13.js} (89%) delete mode 100644 _nuxt/ThemeButton.22e5afa3.js create mode 100644 _nuxt/ThemeButton.7f292234.js rename _nuxt/{ThemeButton.vue.b3d3d21a.js => ThemeButton.vue.199003f5.js} (87%) rename _nuxt/{TokensPlayground.cb8b3cae.js => TokensPlayground.0b65ed3a.js} (74%) rename _nuxt/{VeeValidateCheckbox.113c9f24.js => VeeValidateCheckbox.3384ca47.js} (80%) rename _nuxt/{VeeValidateInvisible.8b40a9ed.js => VeeValidateInvisible.7ad8dce5.js} (73%) rename _nuxt/{VideoPlayer.b5a8aa7e.js => VideoPlayer.bd73326f.js} (93%) rename _nuxt/{VoltaBoard.c40363f6.js => VoltaBoard.b7bae88a.js} (79%) rename _nuxt/{arc.98e8e146.js => arc.16fae886.js} (96%) delete mode 100644 _nuxt/builds/meta/87dce3ed-cb68-4b5f-a28b-3b9ddc96cf0b.json create mode 100644 _nuxt/builds/meta/9ce7ac57-00c3-4da6-bc51-adf6ef24b928.json rename _nuxt/{c4Diagram-44c43e89.62470b1d.js => c4Diagram-44c43e89.598c20e5.js} (99%) rename _nuxt/{classDiagram-634fc78b.2c65684e.js => classDiagram-634fc78b.3ad17352.js} (92%) rename _nuxt/{classDiagram-v2-72bddc41.71367038.js => classDiagram-v2-72bddc41.a5e950e0.js} (90%) rename _nuxt/{client-db.489138a3.js => client-db.cf635550.js} (99%) rename _nuxt/{component-v2.05f6057d.js => component-v2.4f123e31.js} (95%) rename _nuxt/{createText-1f5f8f92.2cd7eed0.js => createText-1f5f8f92.9af55188.js} (99%) rename _nuxt/{debug.cb4eef07.js => debug.b592e5b6.js} (89%) create mode 100644 _nuxt/default.972a2835.js delete mode 100644 _nuxt/default.c3a17007.js rename _nuxt/{document-driven.eda7789d.js => document-driven.380c4d19.js} (84%) rename _nuxt/{edges-2e77835f.ce02d1cb.js => edges-2e77835f.ec894958.js} (99%) rename _nuxt/{entry.8cfa8efb.js => entry.363473ce.js} (95%) rename _nuxt/{erDiagram-20cc9db4.12c0aae2.js => erDiagram-20cc9db4.a89bb4e0.js} (99%) rename _nuxt/{error-404.9527bfb6.js => error-404.0556730f.js} (97%) rename _nuxt/{error-500.ad84f558.js => error-500.599ae020.js} (96%) rename _nuxt/{flowDb-52e24d17.7b23ed64.js => flowDb-52e24d17.7a28c8bc.js} (99%) rename _nuxt/{flowDiagram-46a15f6f.29cc09a3.js => flowDiagram-46a15f6f.b33a89eb.js} (97%) delete mode 100644 _nuxt/flowDiagram-v2-8e52592d.b0431b00.js create mode 100644 _nuxt/flowDiagram-v2-8e52592d.ea8f8dbe.js rename _nuxt/{flowchart-elk-definition-a44a74cb.25914a24.js => flowchart-elk-definition-a44a74cb.2e91d6bb.js} (99%) rename _nuxt/{ganttDiagram-04e74c0a.c4802b4a.js => ganttDiagram-04e74c0a.79b32038.js} (99%) rename _nuxt/{gitGraphDiagram-0a645df6.c4cc2aaf.js => gitGraphDiagram-0a645df6.9a215aa5.js} (99%) rename _nuxt/{index-5219d011.c6c2c006.js => index-5219d011.3b2aa214.js} (97%) rename _nuxt/{index.esm.46f16923.js => index.esm.acb89b47.js} (99%) rename _nuxt/{infoDiagram-69ec1a58.1082338c.js => infoDiagram-69ec1a58.344cc858.js} (97%) rename _nuxt/{is_dark.4ca1afaa.js => is_dark.0e136d46.js} (75%) rename _nuxt/{journeyDiagram-d38aa57d.f5d5005f.js => journeyDiagram-d38aa57d.31553d3d.js} (99%) rename _nuxt/{layout.e490e9ef.js => layout.11303474.js} (99%) rename _nuxt/{line.dc626553.js => line.2cebc606.js} (93%) rename _nuxt/{mermaid.core.6d8597df.js => mermaid.core.bd97f718.js} (97%) rename _nuxt/{mindmap-definition-65b51176.b3fe0cfb.js => mindmap-definition-65b51176.3be4f017.js} (99%) rename _nuxt/{page.46aa918a.js => page.ecaaff9e.js} (90%) rename _nuxt/{pieDiagram-db1a8a21.2d8d6b83.js => pieDiagram-db1a8a21.c86cd96c.js} (98%) rename _nuxt/{requirementDiagram-b9649942.dd4c150a.js => requirementDiagram-b9649942.0b67fd69.js} (99%) rename _nuxt/{selectAll.3bc18744.js => selectAll.41f6743d.js} (68%) rename _nuxt/{sequenceDiagram-446df3e4.a4c47347.js => sequenceDiagram-446df3e4.3875c8cc.js} (99%) rename _nuxt/{stateDiagram-d53d2428.7b50b6b8.js => stateDiagram-d53d2428.fce45b47.js} (97%) rename _nuxt/{stateDiagram-v2-9765461d.097fb5bb.js => stateDiagram-v2-9765461d.321e8498.js} (91%) rename _nuxt/{styles-16907e1b.4469fafb.js => styles-16907e1b.a9f67e6d.js} (99%) rename _nuxt/{styles-26373982.b5ae6569.js => styles-26373982.92ac74e5.js} (97%) rename _nuxt/{styles-47a825a5.44d20f6f.js => styles-47a825a5.f21cee13.js} (99%) rename _nuxt/{svgDraw-2526cba0.08c6d93d.js => svgDraw-2526cba0.1cdd2cec.js} (98%) rename _nuxt/{timeline-definition-de69aca6.f9fc43e9.js => timeline-definition-de69aca6.8dd8ddd6.js} (98%) rename _nuxt/{useStudio.810b15ce.js => useStudio.f0112abf.js} (99%) rename api/_content/{cache.1698498573480.json => cache.1698639588562.json} (99%) rename api/_content/navigation/{u7BbTyuhiE.1698498573480.json => u7BbTyuhiE.1698639588562.json} (100%) rename api/_content/query/{5o97oNYApY.1698498573480.json => 5o97oNYApY.1698639588562.json} (100%) rename api/_content/query/{6Ma98zDOAL.1698498573480.json => 6Ma98zDOAL.1698639588562.json} (100%) rename api/_content/query/{71x6tI7TZ6.1698498573480.json => 71x6tI7TZ6.1698639588562.json} (100%) rename api/_content/query/{7iVMcekoeE.1698498573480.json => 7iVMcekoeE.1698639588562.json} (100%) rename api/_content/query/{M3XVXw3HJU.1698498573480.json => M3XVXw3HJU.1698639588562.json} (100%) rename api/_content/query/{MNRZfjwhUr.1698498573480.json => MNRZfjwhUr.1698639588562.json} (100%) rename api/_content/query/{RR98Iqj5nh.1698498573480.json => RR98Iqj5nh.1698639588562.json} (100%) rename api/_content/query/{SeoqWQG0fS.1698498573480.json => SeoqWQG0fS.1698639588562.json} (100%) rename api/_content/query/{T9GHEEsuxc.1698498573480.json => T9GHEEsuxc.1698639588562.json} (100%) rename api/_content/query/{TdqgdZYwVh.1698498573480.json => TdqgdZYwVh.1698639588562.json} (100%) rename api/_content/query/{a9mJ5sb0Ut.1698498573480.json => a9mJ5sb0Ut.1698639588562.json} (100%) rename api/_content/query/{brX4CwCJoQ.1698498573480.json => brX4CwCJoQ.1698639588562.json} (100%) rename api/_content/query/{cYHfkdXNA9.1698498573480.json => cYHfkdXNA9.1698639588562.json} (100%) rename api/_content/query/{cwi4DXcuTN.1698498573480.json => cwi4DXcuTN.1698639588562.json} (100%) rename api/_content/query/{enlVh97sWo.1698498573480.json => enlVh97sWo.1698639588562.json} (100%) rename api/_content/query/{ilY3438huT.1698498573480.json => ilY3438huT.1698639588562.json} (100%) rename api/_content/query/{llVwSUGQ8t.1698498573480.json => llVwSUGQ8t.1698639588562.json} (100%) rename api/_content/query/{nEtvTjdOht.1698498573480.json => nEtvTjdOht.1698639588562.json} (100%) rename api/_content/query/{nkLpzwYCmw.1698498573480.json => nkLpzwYCmw.1698639588562.json} (100%) rename api/_content/query/{o37MdY9M7h.1698498573480.json => o37MdY9M7h.1698639588562.json} (100%) rename api/_content/query/{qD1kmuf7LZ.1698498573480.json => qD1kmuf7LZ.1698639588562.json} (100%) rename api/_content/query/{qI1iJDV4vv.1698498573480.json => qI1iJDV4vv.1698639588562.json} (100%) rename api/_content/query/{qIaVkSSVbL.1698498573480.json => qIaVkSSVbL.1698639588562.json} (100%) rename api/_content/query/{s1rpjBKntu.1698498573480.json => s1rpjBKntu.1698639588562.json} (100%) rename api/_content/query/{udG4RswcBp.1698498573480.json => udG4RswcBp.1698639588562.json} (100%) rename api/_content/query/{wrDfznErw4.1698498573480.json => wrDfznErw4.1698639588562.json} (100%) rename api/_content/query/{xIJVJksIkT.1698498573480.json => xIJVJksIkT.1698639588562.json} (100%) rename api/_content/query/{xWeY3NfYtX.1698498573480.json => xWeY3NfYtX.1698639588562.json} (100%) rename api/_content/query/{y5OZXjriWq.1698498573480.json => y5OZXjriWq.1698639588562.json} (100%) rename api/_content/query/{zlYjVpH9OK.1698498573480.json => zlYjVpH9OK.1698639588562.json} (100%) diff --git a/200.html b/200.html index a06ab2ba56..e178550e57 100644 --- a/200.html +++ b/200.html @@ -3,7 +3,7 @@ - + @@ -12,30 +12,30 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - -
- + \ No newline at end of file diff --git a/404.html b/404.html index a06ab2ba56..e178550e57 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,7 @@ - + @@ -12,30 +12,30 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - -
- + \ No newline at end of file diff --git a/__studio.json b/__studio.json index b1f6b3e738..f650221de0 100644 --- a/__studio.json +++ b/__studio.json @@ -1 +1 @@ -{"version":"1.0.0","tokens":"","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"tiktok":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/tiktok","default":"","type":"string"},"youtube":{"title":"TikTok page url","description":"","tags":["@example https://www.tiktok.com/@tiktok","@studioIcon simple-icons:tiktok"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.\nObject that sets the light and dark logos.","tags":["@example 'MyLogo'","@studioInput boolean"],"tsType":"boolean|string|{dark: string, light: string}","id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"baseUrl":{"title":"Base URL","description":"You can use this to link to GitHub Enterprise.","tags":[],"id":"#appConfig/docus/github/baseUrl","default":"https://github.com","type":"string"},"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"appConfig":{"nuxt":{"buildId":"87dce3ed-cb68-4b5f-a28b-3b9ddc96cf0b"},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"vue-recaptcha","description":"Document for vue-recaptcha","url":"https://dansnow.github.io/vue-recaptcha","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"github":"DanSnow/vue-recaptcha"},"layout":"default","header":{"title":"","logo":false,"showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":0,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[],"fluid":false},"github":{"dir":"docs/content","branch":"v3","repo":"vue-recaptcha","owner":"DanSnow","edit":true}}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFCEE"}},"type":"object","default":{"value":"#FFFCEE"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF6D3"}},"type":"object","default":{"value":"#FFF6D3"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FFF0B1"}},"type":"object","default":{"value":"#FFF0B1"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFE372"}},"type":"object","default":{"value":"#FFE372"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFDC4E"}},"type":"object","default":{"value":"#FFDC4E"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#FBCA05"}},"type":"object","default":{"value":"#FBCA05"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#CBA408"}},"type":"object","default":{"value":"#CBA408"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#614E02"}},"type":"object","default":{"value":"#614E02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#292100"}},"type":"object","default":{"value":"#292100"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1B1500"}},"type":"object","default":{"value":"#1B1500"}}},"type":"object","default":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#014267"}},"type":"object","default":{"value":"#014267"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#FFF6E5"}},"type":"object","default":{"value":"#FFF6E5"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#FFEDCC"}},"type":"object","default":{"value":"#FFEDCC"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#FFDB99"}},"type":"object","default":{"value":"#FFDB99"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#FFC966"}},"type":"object","default":{"value":"#FFC966"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#FFB833"}},"type":"object","default":{"value":"#FFB833"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#FFA500"}},"type":"object","default":{"value":"#FFA500"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#CC8500"}},"type":"object","default":{"value":"#CC8500"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#996300"}},"type":"object","default":{"value":"#996300"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#664200"}},"type":"object","default":{"value":"#664200"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#332100"}},"type":"object","default":{"value":"#332100"}}},"type":"object","default":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"shadow":{"id":"#tokensConfig/color/shadow","properties":{"value":{"id":"#tokensConfig/color/shadow/value","properties":{"initial":{"type":"string","id":"#tokensConfig/color/shadow/value/initial","default":"{color.gray.400}"},"dark":{"type":"string","id":"#tokensConfig/color/shadow/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 2px 0px {color.shadow}"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"type":"object","default":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"type":"object","default":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.shadow}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.shadow}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"body":{"id":"#tokensConfig/docus/body","properties":{"backgroundColor":{"id":"#tokensConfig/docus/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"color":{"id":"#tokensConfig/docus/body/color","properties":{"value":{"id":"#tokensConfig/docus/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/color/value/initial","default":"{color.gray.800}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/color/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"fontFamily":{"id":"#tokensConfig/docus/body/fontFamily","properties":{"value":{"type":"string","id":"#tokensConfig/docus/body/fontFamily/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}}},"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"logo":{"id":"#tokensConfig/docus/header/logo","properties":{"height":{"id":"#tokensConfig/docus/header/logo/height","properties":{"value":{"id":"#tokensConfig/docus/header/logo/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/initial","default":"{space.6}"},"sm":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/sm","default":"{space.7}"}},"type":"object","default":{"initial":"{space.6}","sm":"{space.7}"}}},"type":"object","default":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"type":"object","default":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"title":{"id":"#tokensConfig/docus/header/title","properties":{"fontSize":{"id":"#tokensConfig/docus/header/title/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"fontWeight":{"id":"#tokensConfig/docus/header/title/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontWeight/value","default":"{fontWeight.bold}"}},"type":"object","default":{"value":"{fontWeight.bold}"}},"color":{"id":"#tokensConfig/docus/header/title/color","properties":{"static":{"id":"#tokensConfig/docus/header/title/color/static","properties":{"value":{"id":"#tokensConfig/docus/header/title/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/dark","default":"{color.gray.100}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"hover":{"id":"#tokensConfig/docus/header/title/color/hover","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/color/hover/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"search":{"id":"#tokensConfig/docus/search","properties":{"backdropFilter":{"id":"#tokensConfig/docus/search/backdropFilter","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/backdropFilter/value","default":"blur(24px)"}},"type":"object","default":{"value":"blur(24px)"}},"input":{"id":"#tokensConfig/docus/search/input","properties":{"borderRadius":{"id":"#tokensConfig/docus/search/input/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderRadius/value","default":"{radii.2xs}"}},"type":"object","default":{"value":"{radii.2xs}"}},"borderWidth":{"id":"#tokensConfig/docus/search/input/borderWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderWidth/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"borderStyle":{"id":"#tokensConfig/docus/search/input/borderStyle","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderStyle/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"borderColor":{"id":"#tokensConfig/docus/search/input/borderColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/borderColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/dark","default":"transparent"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"transparent"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"transparent"}}},"fontSize":{"id":"#tokensConfig/docus/search/input/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"gap":{"id":"#tokensConfig/docus/search/input/gap","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/gap/value","default":"{space.2}"}},"type":"object","default":{"value":"{space.2}"}},"padding":{"id":"#tokensConfig/docus/search/input/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/padding/value","default":"{space.2} {space.4}"}},"type":"object","default":{"value":"{space.2} {space.4}"}},"backgroundColor":{"id":"#tokensConfig/docus/search/input/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"results":{"id":"#tokensConfig/docus/search/results","properties":{"window":{"id":"#tokensConfig/docus/search/results/window","properties":{"marginX":{"id":"#tokensConfig/docus/search/results/window/marginX","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginX/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/sm","default":"{space.4}"}},"type":"object","default":{"initial":"0","sm":"{space.4}"}}},"type":"object","default":{"value":{"initial":"0","sm":"{space.4}"}}},"borderRadius":{"id":"#tokensConfig/docus/search/results/window/borderRadius","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/borderRadius/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/initial","default":"none"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/sm","default":"{radii.xs}"}},"type":"object","default":{"initial":"none","sm":"{radii.xs}"}}},"type":"object","default":{"value":{"initial":"none","sm":"{radii.xs}"}}},"marginTop":{"id":"#tokensConfig/docus/search/results/window/marginTop","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginTop/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/sm","default":"20vh"}},"type":"object","default":{"initial":"0","sm":"20vh"}}},"type":"object","default":{"value":{"initial":"0","sm":"20vh"}}},"maxWidth":{"id":"#tokensConfig/docus/search/results/window/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxWidth/value","default":"640px"}},"type":"object","default":{"value":"640px"}},"maxHeight":{"id":"#tokensConfig/docus/search/results/window/maxHeight","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/maxHeight/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/initial","default":"100%"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/sm","default":"320px"}},"type":"object","default":{"initial":"100%","sm":"320px"}}},"type":"object","default":{"value":{"initial":"100%","sm":"320px"}}}},"type":"object","default":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}}},"selected":{"id":"#tokensConfig/docus/search/results/selected","properties":{"backgroundColor":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/initial","default":"{color.gray.300}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/dark","default":"{color.gray.700}"}},"type":"object","default":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"type":"object","default":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"highlight":{"id":"#tokensConfig/docus/search/results/highlight","properties":{"color":{"id":"#tokensConfig/docus/search/results/highlight/color","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/color/value","default":"white"}},"type":"object","default":{"value":"white"}},"backgroundColor":{"id":"#tokensConfig/docus/search/results/highlight/backgroundColor","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/backgroundColor/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}},"type":"object","default":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}},"type":"object","default":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE","variable":"var(--color-yellow-50)","raw":"#FFFCEE"},"100":{"value":"#FFF6D3","variable":"var(--color-yellow-100)","raw":"#FFF6D3"},"200":{"value":"#FFF0B1","variable":"var(--color-yellow-200)","raw":"#FFF0B1"},"300":{"value":"#FFE372","variable":"var(--color-yellow-300)","raw":"#FFE372"},"400":{"value":"#FFDC4E","variable":"var(--color-yellow-400)","raw":"#FFDC4E"},"500":{"value":"#FBCA05","variable":"var(--color-yellow-500)","raw":"#FBCA05"},"600":{"value":"#CBA408","variable":"var(--color-yellow-600)","raw":"#CBA408"},"700":{"value":"#614E02","variable":"var(--color-yellow-700)","raw":"#614E02"},"800":{"value":"#292100","variable":"var(--color-yellow-800)","raw":"#292100"},"900":{"value":"#1B1500","variable":"var(--color-yellow-900)","raw":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#014267","variable":"var(--color-blue-700)","raw":"#014267"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#FFF6E5","variable":"var(--color-primary-50)","raw":"#FFF6E5"},"100":{"value":"#FFEDCC","variable":"var(--color-primary-100)","raw":"#FFEDCC"},"200":{"value":"#FFDB99","variable":"var(--color-primary-200)","raw":"#FFDB99"},"300":{"value":"#FFC966","variable":"var(--color-primary-300)","raw":"#FFC966"},"400":{"value":"#FFB833","variable":"var(--color-primary-400)","raw":"#FFB833"},"500":{"value":"#FFA500","variable":"var(--color-primary-500)","raw":"#FFA500"},"600":{"value":"#CC8500","variable":"var(--color-primary-600)","raw":"#CC8500"},"700":{"value":"#996300","variable":"var(--color-primary-700)","raw":"#996300"},"800":{"value":"#664200","variable":"var(--color-primary-800)","raw":"#664200"},"900":{"value":"#332100","variable":"var(--color-primary-900)","raw":"#332100"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}},"shadow":{"value":{"initial":"var(--color-gray-400)","dark":"var(--color-gray-800)"},"variable":"var(--color-shadow)","raw":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px var(--color-shadow)","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px var(--color-shadow)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--docus-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"var(--color-gray-800)","dark":"var(--color-gray-200)"},"variable":"var(--docus-body-color)","raw":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"var(--font-sans)","variable":"var(--docus-body-fontFamily)","raw":"{font.sans}"}},"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"},"logo":{"height":{"value":{"initial":"var(--space-6)","sm":"var(--space-7)"},"variable":"var(--docus-header-logo-height)","raw":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--docus-header-title-fontSize)","raw":"{fontSize.2xl}"},"fontWeight":{"value":"var(--fontWeight-bold)","variable":"var(--docus-header-title-fontWeight)","raw":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-100)"},"variable":"var(--docus-header-title-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"var(--color-primary-500)","variable":"var(--docus-header-title-color-hover)","raw":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)","variable":"var(--docus-search-backdropFilter)","raw":"blur(24px)"},"input":{"borderRadius":{"value":"var(--radii-2xs)","variable":"var(--docus-search-input-borderRadius)","raw":"{radii.2xs}"},"borderWidth":{"value":"1px","variable":"var(--docus-search-input-borderWidth)","raw":"1px"},"borderStyle":{"value":"solid","variable":"var(--docus-search-input-borderStyle)","raw":"solid"},"borderColor":{"value":{"initial":"var(--color-gray-200)","dark":"transparent"},"variable":"var(--docus-search-input-borderColor)","raw":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--docus-search-input-fontSize)","raw":"{fontSize.sm}"},"gap":{"value":"var(--space-2)","variable":"var(--docus-search-input-gap)","raw":"{space.2}"},"padding":{"value":"var(--space-2) var(--space-4)","variable":"var(--docus-search-input-padding)","raw":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--docus-search-input-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"var(--space-4)"},"variable":"var(--docus-search-results-window-marginX)","raw":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"var(--radii-xs)"},"variable":"var(--docus-search-results-window-borderRadius)","raw":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"},"variable":"var(--docus-search-results-window-marginTop)","raw":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px","variable":"var(--docus-search-results-window-maxWidth)","raw":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"},"variable":"var(--docus-search-results-window-maxHeight)","raw":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"var(--color-gray-300)","dark":"var(--color-gray-700)"},"variable":"var(--docus-search-results-selected-backgroundColor)","raw":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white","variable":"var(--docus-search-results-highlight-color)","raw":"white"},"backgroundColor":{"value":"var(--color-primary-500)","variable":"var(--docus-search-results-highlight-backgroundColor)","raw":"{color.primary.500}"}}}}}},"content":{"sources":{},"ignores":[],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false,"advanceQuery":false}},"components":[{"name":"ChallengeV2Demo","path":"components/content/ChallengeV2Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ChallengeV3Demo","path":"components/content/ChallengeV3Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CheckboxDemo","path":"components/content/CheckboxDemo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IndexDemo","path":"components/content/IndexDemo.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Mermaid","path":"components/content/Mermaid.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PrimaryButton","path":"components/content/PrimaryButton.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ThemeButton","path":"components/content/ThemeButton.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"\"light\" | \"dark\"","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]},{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]}],"schema":{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}}],"slots":[],"events":[{"name":"update:modelValue","type":"[theme: \"light\" | \"dark\"]","signature":"(event: \"update:modelValue\", theme: \"light\" | \"dark\"): void","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","range":[4388,4423]}],"schema":[{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}]}]}},{"name":"VeeValidateCheckbox","path":"components/content/VeeValidateCheckbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VeeValidateInvisible","path":"components/content/VeeValidateInvisible.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppDocSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppFooter","path":"../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLoadingBar","path":"../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"../node_modules/@nuxt-themes/docus/components/app/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPrevNext","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsTocLinks","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"EditOnLink","path":"../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"SourceLink","path":"../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Alert","path":"../node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Badge","path":"../node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ButtonLink","path":"../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Callout","path":"../node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeBlock","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeGroup","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"../node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CopyButton","path":"../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"List","path":"../node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"../node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TabsHeader","path":"../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Terminal","path":"../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Card","path":"../node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CardGrid","path":"../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VoltaBoard","path":"../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundProps","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundSlots","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"PreviewLayout","path":"../node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaCheckbox","path":"../src/components/Checkbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV2","path":"../src/components/ChallengeV2.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV3","path":"../src/components/ChallengeV3.vue","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file +{"version":"1.0.0","tokens":"","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"tiktok":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/tiktok","default":"","type":"string"},"youtube":{"title":"TikTok page url","description":"","tags":["@example https://www.tiktok.com/@tiktok","@studioIcon simple-icons:tiktok"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.\nObject that sets the light and dark logos.","tags":["@example 'MyLogo'","@studioInput boolean"],"tsType":"boolean|string|{dark: string, light: string}","id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"},"rel":{"type":"string","description":"Rel attribute of the link"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"baseUrl":{"title":"Base URL","description":"You can use this to link to GitHub Enterprise.","tags":[],"id":"#appConfig/docus/github/baseUrl","default":"https://github.com","type":"string"},"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","tiktok":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"baseUrl":"https://github.com","dir":"","branch":"","repo":"","owner":"","edit":false}}}},"appConfig":{"nuxt":{"buildId":"9ce7ac57-00c3-4da6-bc51-adf6ef24b928"},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"vue-recaptcha","description":"Document for vue-recaptcha","url":"https://dansnow.github.io/vue-recaptcha","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"github":"DanSnow/vue-recaptcha"},"layout":"default","header":{"title":"","logo":false,"showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":0,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[],"fluid":false},"github":{"dir":"docs/content","branch":"v3","repo":"vue-recaptcha","owner":"DanSnow","edit":true}}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFCEE"}},"type":"object","default":{"value":"#FFFCEE"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF6D3"}},"type":"object","default":{"value":"#FFF6D3"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FFF0B1"}},"type":"object","default":{"value":"#FFF0B1"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFE372"}},"type":"object","default":{"value":"#FFE372"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFDC4E"}},"type":"object","default":{"value":"#FFDC4E"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#FBCA05"}},"type":"object","default":{"value":"#FBCA05"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#CBA408"}},"type":"object","default":{"value":"#CBA408"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#614E02"}},"type":"object","default":{"value":"#614E02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#292100"}},"type":"object","default":{"value":"#292100"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1B1500"}},"type":"object","default":{"value":"#1B1500"}}},"type":"object","default":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#014267"}},"type":"object","default":{"value":"#014267"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#FFF6E5"}},"type":"object","default":{"value":"#FFF6E5"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#FFEDCC"}},"type":"object","default":{"value":"#FFEDCC"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#FFDB99"}},"type":"object","default":{"value":"#FFDB99"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#FFC966"}},"type":"object","default":{"value":"#FFC966"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#FFB833"}},"type":"object","default":{"value":"#FFB833"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#FFA500"}},"type":"object","default":{"value":"#FFA500"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#CC8500"}},"type":"object","default":{"value":"#CC8500"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#996300"}},"type":"object","default":{"value":"#996300"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#664200"}},"type":"object","default":{"value":"#664200"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#332100"}},"type":"object","default":{"value":"#332100"}}},"type":"object","default":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"shadow":{"id":"#tokensConfig/color/shadow","properties":{"value":{"id":"#tokensConfig/color/shadow/value","properties":{"initial":{"type":"string","id":"#tokensConfig/color/shadow/value/initial","default":"{color.gray.400}"},"dark":{"type":"string","id":"#tokensConfig/color/shadow/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 2px 0px {color.shadow}"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"type":"object","default":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"type":"object","default":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"type":"object","default":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.shadow}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.shadow}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"body":{"id":"#tokensConfig/docus/body","properties":{"backgroundColor":{"id":"#tokensConfig/docus/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"color":{"id":"#tokensConfig/docus/body/color","properties":{"value":{"id":"#tokensConfig/docus/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/body/color/value/initial","default":"{color.gray.800}"},"dark":{"type":"string","id":"#tokensConfig/docus/body/color/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}}},"fontFamily":{"id":"#tokensConfig/docus/body/fontFamily","properties":{"value":{"type":"string","id":"#tokensConfig/docus/body/fontFamily/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}}},"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"logo":{"id":"#tokensConfig/docus/header/logo","properties":{"height":{"id":"#tokensConfig/docus/header/logo/height","properties":{"value":{"id":"#tokensConfig/docus/header/logo/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/initial","default":"{space.6}"},"sm":{"type":"string","id":"#tokensConfig/docus/header/logo/height/value/sm","default":"{space.7}"}},"type":"object","default":{"initial":"{space.6}","sm":"{space.7}"}}},"type":"object","default":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"type":"object","default":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}}},"title":{"id":"#tokensConfig/docus/header/title","properties":{"fontSize":{"id":"#tokensConfig/docus/header/title/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"fontWeight":{"id":"#tokensConfig/docus/header/title/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/fontWeight/value","default":"{fontWeight.bold}"}},"type":"object","default":{"value":"{fontWeight.bold}"}},"color":{"id":"#tokensConfig/docus/header/title/color","properties":{"static":{"id":"#tokensConfig/docus/header/title/color/static","properties":{"value":{"id":"#tokensConfig/docus/header/title/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/docus/header/title/color/static/value/dark","default":"{color.gray.100}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}}},"hover":{"id":"#tokensConfig/docus/header/title/color/hover","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/title/color/hover/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"search":{"id":"#tokensConfig/docus/search","properties":{"backdropFilter":{"id":"#tokensConfig/docus/search/backdropFilter","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/backdropFilter/value","default":"blur(24px)"}},"type":"object","default":{"value":"blur(24px)"}},"input":{"id":"#tokensConfig/docus/search/input","properties":{"borderRadius":{"id":"#tokensConfig/docus/search/input/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderRadius/value","default":"{radii.2xs}"}},"type":"object","default":{"value":"{radii.2xs}"}},"borderWidth":{"id":"#tokensConfig/docus/search/input/borderWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderWidth/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"borderStyle":{"id":"#tokensConfig/docus/search/input/borderStyle","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/borderStyle/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"borderColor":{"id":"#tokensConfig/docus/search/input/borderColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/borderColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/borderColor/value/dark","default":"transparent"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"transparent"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"transparent"}}},"fontSize":{"id":"#tokensConfig/docus/search/input/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"gap":{"id":"#tokensConfig/docus/search/input/gap","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/gap/value","default":"{space.2}"}},"type":"object","default":{"value":"{space.2}"}},"padding":{"id":"#tokensConfig/docus/search/input/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/input/padding/value","default":"{space.2} {space.4}"}},"type":"object","default":{"value":"{space.2} {space.4}"}},"backgroundColor":{"id":"#tokensConfig/docus/search/input/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/input/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/input/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"results":{"id":"#tokensConfig/docus/search/results","properties":{"window":{"id":"#tokensConfig/docus/search/results/window","properties":{"marginX":{"id":"#tokensConfig/docus/search/results/window/marginX","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginX/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginX/value/sm","default":"{space.4}"}},"type":"object","default":{"initial":"0","sm":"{space.4}"}}},"type":"object","default":{"value":{"initial":"0","sm":"{space.4}"}}},"borderRadius":{"id":"#tokensConfig/docus/search/results/window/borderRadius","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/borderRadius/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/initial","default":"none"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/borderRadius/value/sm","default":"{radii.xs}"}},"type":"object","default":{"initial":"none","sm":"{radii.xs}"}}},"type":"object","default":{"value":{"initial":"none","sm":"{radii.xs}"}}},"marginTop":{"id":"#tokensConfig/docus/search/results/window/marginTop","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/marginTop/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/initial","default":"0"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/marginTop/value/sm","default":"20vh"}},"type":"object","default":{"initial":"0","sm":"20vh"}}},"type":"object","default":{"value":{"initial":"0","sm":"20vh"}}},"maxWidth":{"id":"#tokensConfig/docus/search/results/window/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxWidth/value","default":"640px"}},"type":"object","default":{"value":"640px"}},"maxHeight":{"id":"#tokensConfig/docus/search/results/window/maxHeight","properties":{"value":{"id":"#tokensConfig/docus/search/results/window/maxHeight/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/initial","default":"100%"},"sm":{"type":"string","id":"#tokensConfig/docus/search/results/window/maxHeight/value/sm","default":"320px"}},"type":"object","default":{"initial":"100%","sm":"320px"}}},"type":"object","default":{"value":{"initial":"100%","sm":"320px"}}}},"type":"object","default":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}}},"selected":{"id":"#tokensConfig/docus/search/results/selected","properties":{"backgroundColor":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor","properties":{"value":{"id":"#tokensConfig/docus/search/results/selected/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/initial","default":"{color.gray.300}"},"dark":{"type":"string","id":"#tokensConfig/docus/search/results/selected/backgroundColor/value/dark","default":"{color.gray.700}"}},"type":"object","default":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"type":"object","default":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}}},"highlight":{"id":"#tokensConfig/docus/search/results/highlight","properties":{"color":{"id":"#tokensConfig/docus/search/results/highlight/color","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/color/value","default":"white"}},"type":"object","default":{"value":"white"}},"backgroundColor":{"id":"#tokensConfig/docus/search/results/highlight/backgroundColor","properties":{"value":{"type":"string","id":"#tokensConfig/docus/search/results/highlight/backgroundColor/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}}},"type":"object","default":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}},"type":"object","default":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}},"type":"object","default":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}},"type":"object","default":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE"},"100":{"value":"#FFF6D3"},"200":{"value":"#FFF0B1"},"300":{"value":"#FFE372"},"400":{"value":"#FFDC4E"},"500":{"value":"#FBCA05"},"600":{"value":"#CBA408"},"700":{"value":"#614E02"},"800":{"value":"#292100"},"900":{"value":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#014267"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#FFF6E5"},"100":{"value":"#FFEDCC"},"200":{"value":"#FFDB99"},"300":{"value":"#FFC966"},"400":{"value":"#FFB833"},"500":{"value":"#FFA500"},"600":{"value":"#CC8500"},"700":{"value":"#996300"},"800":{"value":"#664200"},"900":{"value":"#332100"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"shadow":{"value":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"{font.sans}"}},"header":{"height":{"value":"64px"},"logo":{"height":{"value":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"{fontSize.2xl}"},"fontWeight":{"value":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)"},"input":{"borderRadius":{"value":"{radii.2xs}"},"borderWidth":{"value":"1px"},"borderStyle":{"value":"solid"},"borderColor":{"value":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"{fontSize.sm}"},"gap":{"value":"{space.2}"},"padding":{"value":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white"},"backgroundColor":{"value":"{color.primary.500}"}}}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFCEE","variable":"var(--color-yellow-50)","raw":"#FFFCEE"},"100":{"value":"#FFF6D3","variable":"var(--color-yellow-100)","raw":"#FFF6D3"},"200":{"value":"#FFF0B1","variable":"var(--color-yellow-200)","raw":"#FFF0B1"},"300":{"value":"#FFE372","variable":"var(--color-yellow-300)","raw":"#FFE372"},"400":{"value":"#FFDC4E","variable":"var(--color-yellow-400)","raw":"#FFDC4E"},"500":{"value":"#FBCA05","variable":"var(--color-yellow-500)","raw":"#FBCA05"},"600":{"value":"#CBA408","variable":"var(--color-yellow-600)","raw":"#CBA408"},"700":{"value":"#614E02","variable":"var(--color-yellow-700)","raw":"#614E02"},"800":{"value":"#292100","variable":"var(--color-yellow-800)","raw":"#292100"},"900":{"value":"#1B1500","variable":"var(--color-yellow-900)","raw":"#1B1500"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#014267","variable":"var(--color-blue-700)","raw":"#014267"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#FFF6E5","variable":"var(--color-primary-50)","raw":"#FFF6E5"},"100":{"value":"#FFEDCC","variable":"var(--color-primary-100)","raw":"#FFEDCC"},"200":{"value":"#FFDB99","variable":"var(--color-primary-200)","raw":"#FFDB99"},"300":{"value":"#FFC966","variable":"var(--color-primary-300)","raw":"#FFC966"},"400":{"value":"#FFB833","variable":"var(--color-primary-400)","raw":"#FFB833"},"500":{"value":"#FFA500","variable":"var(--color-primary-500)","raw":"#FFA500"},"600":{"value":"#CC8500","variable":"var(--color-primary-600)","raw":"#CC8500"},"700":{"value":"#996300","variable":"var(--color-primary-700)","raw":"#996300"},"800":{"value":"#664200","variable":"var(--color-primary-800)","raw":"#664200"},"900":{"value":"#332100","variable":"var(--color-primary-900)","raw":"#332100"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}},"shadow":{"value":{"initial":"var(--color-gray-400)","dark":"var(--color-gray-800)"},"variable":"var(--color-shadow)","raw":{"initial":"{color.gray.400}","dark":"{color.gray.800}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px var(--color-shadow)","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px {color.shadow}"},"sm":{"value":"0px 1px 3px 0px var(--color-shadow), 0px 1px 2px -1px var(--color-shadow)","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px {color.shadow}, 0px 1px 2px -1px {color.shadow}"},"md":{"value":"0px 4px 6px -1px var(--color-shadow), 0px 2px 4px -2px var(--color-shadow)","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px {color.shadow}, 0px 2px 4px -2px {color.shadow}"},"lg":{"value":"0px 10px 15px -3px var(--color-shadow), 0px 4px 6px -4px var(--color-shadow)","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px {color.shadow}, 0px 4px 6px -4px {color.shadow}"},"xl":{"value":"0px 20px 25px -5px var(--color-shadow), 0px 8px 10px -6px var(--color-shadow)","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.shadow}, 0px 8px 10px -6px {color.shadow}"},"2xl":{"value":"0px 25px 50px -12px var(--color-shadow)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.shadow}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"body":{"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--docus-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}},"color":{"value":{"initial":"var(--color-gray-800)","dark":"var(--color-gray-200)"},"variable":"var(--docus-body-color)","raw":{"initial":"{color.gray.800}","dark":"{color.gray.200}"}},"fontFamily":{"value":"var(--font-sans)","variable":"var(--docus-body-fontFamily)","raw":"{font.sans}"}},"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"},"logo":{"height":{"value":{"initial":"var(--space-6)","sm":"var(--space-7)"},"variable":"var(--docus-header-logo-height)","raw":{"initial":"{space.6}","sm":"{space.7}"}}},"title":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--docus-header-title-fontSize)","raw":"{fontSize.2xl}"},"fontWeight":{"value":"var(--fontWeight-bold)","variable":"var(--docus-header-title-fontWeight)","raw":"{fontWeight.bold}"},"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-100)"},"variable":"var(--docus-header-title-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.100}"}},"hover":{"value":"var(--color-primary-500)","variable":"var(--docus-header-title-color-hover)","raw":"{color.primary.500}"}}}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}},"search":{"backdropFilter":{"value":"blur(24px)","variable":"var(--docus-search-backdropFilter)","raw":"blur(24px)"},"input":{"borderRadius":{"value":"var(--radii-2xs)","variable":"var(--docus-search-input-borderRadius)","raw":"{radii.2xs}"},"borderWidth":{"value":"1px","variable":"var(--docus-search-input-borderWidth)","raw":"1px"},"borderStyle":{"value":"solid","variable":"var(--docus-search-input-borderStyle)","raw":"solid"},"borderColor":{"value":{"initial":"var(--color-gray-200)","dark":"transparent"},"variable":"var(--docus-search-input-borderColor)","raw":{"initial":"{color.gray.200}","dark":"transparent"}},"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--docus-search-input-fontSize)","raw":"{fontSize.sm}"},"gap":{"value":"var(--space-2)","variable":"var(--docus-search-input-gap)","raw":"{space.2}"},"padding":{"value":"var(--space-2) var(--space-4)","variable":"var(--docus-search-input-padding)","raw":"{space.2} {space.4}"},"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--docus-search-input-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"results":{"window":{"marginX":{"value":{"initial":"0","sm":"var(--space-4)"},"variable":"var(--docus-search-results-window-marginX)","raw":{"initial":"0","sm":"{space.4}"}},"borderRadius":{"value":{"initial":"none","sm":"var(--radii-xs)"},"variable":"var(--docus-search-results-window-borderRadius)","raw":{"initial":"none","sm":"{radii.xs}"}},"marginTop":{"value":{"initial":"0","sm":"20vh"},"variable":"var(--docus-search-results-window-marginTop)","raw":{"initial":"0","sm":"20vh"}},"maxWidth":{"value":"640px","variable":"var(--docus-search-results-window-maxWidth)","raw":"640px"},"maxHeight":{"value":{"initial":"100%","sm":"320px"},"variable":"var(--docus-search-results-window-maxHeight)","raw":{"initial":"100%","sm":"320px"}}},"selected":{"backgroundColor":{"value":{"initial":"var(--color-gray-300)","dark":"var(--color-gray-700)"},"variable":"var(--docus-search-results-selected-backgroundColor)","raw":{"initial":"{color.gray.300}","dark":"{color.gray.700}"}}},"highlight":{"color":{"value":"white","variable":"var(--docus-search-results-highlight-color)","raw":"white"},"backgroundColor":{"value":"var(--color-primary-500)","variable":"var(--docus-search-results-highlight-backgroundColor)","raw":"{color.primary.500}"}}}}}},"content":{"sources":{},"ignores":[],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false,"advanceQuery":false}},"components":[{"name":"ChallengeV2Demo","path":"components/content/ChallengeV2Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ChallengeV3Demo","path":"components/content/ChallengeV3Demo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CheckboxDemo","path":"components/content/CheckboxDemo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IndexDemo","path":"components/content/IndexDemo.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Mermaid","path":"components/content/Mermaid.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PrimaryButton","path":"components/content/PrimaryButton.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","declarations":[],"schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ThemeButton","path":"components/content/ThemeButton.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"\"light\" | \"dark\"","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]},{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/docs/components/content/ThemeButton.vue","range":[55,83]}],"schema":{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}}],"slots":[],"events":[{"name":"update:modelValue","type":"[theme: \"light\" | \"dark\"]","signature":"(event: \"update:modelValue\", theme: \"light\" | \"dark\"): void","declarations":[{"file":"/home/runner/work/vue-recaptcha/vue-recaptcha/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","range":[4388,4423]}],"schema":[{"kind":"enum","type":"\"light\" | \"dark\"","schema":["\"light\"","\"dark\""]}]}]}},{"name":"VeeValidateCheckbox","path":"components/content/VeeValidateCheckbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VeeValidateInvisible","path":"components/content/VeeValidateInvisible.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppDocSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppDocSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppFooter","path":"../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLoadingBar","path":"../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSearch","path":"../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"../node_modules/@nuxt-themes/docus/components/app/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPrevNext","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsTocLinks","path":"../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"EditOnLink","path":"../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"SourceLink","path":"../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Alert","path":"../node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Badge","path":"../node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ButtonLink","path":"../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Callout","path":"../node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeBlock","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CodeGroup","path":"../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"../node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CopyButton","path":"../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"List","path":"../node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"../node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TabsHeader","path":"../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Terminal","path":"../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Card","path":"../node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"CardGrid","path":"../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"VoltaBoard","path":"../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundProps","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundSlots","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"PreviewLayout","path":"../node_modules/@nuxt-themes/elements/components/meta/PreviewLayout.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaCheckbox","path":"../src/components/Checkbox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV2","path":"../src/components/ChallengeV2.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"RecaptchaChallengeV3","path":"../src/components/ChallengeV3.vue","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file diff --git a/_nuxt/Badge.7e0c9ea2.js b/_nuxt/Badge.436f1233.js similarity index 68% rename from _nuxt/Badge.7e0c9ea2.js rename to _nuxt/Badge.436f1233.js index 3c3dc0d6f5..9bea2222dc 100644 --- a/_nuxt/Badge.7e0c9ea2.js +++ b/_nuxt/Badge.436f1233.js @@ -1 +1 @@ -import{d as n,b as t,c as s,$ as r,n as o,k as _}from"./entry.8cfa8efb.js";const p=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,c)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}});const l=_(p,[["__scopeId","data-v-95776a62"]]);export{l as default}; +import{d as n,b as t,c as s,$ as r,n as o,k as _}from"./entry.363473ce.js";const p=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,c)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}});const l=_(p,[["__scopeId","data-v-95776a62"]]);export{l as default}; diff --git a/_nuxt/BlockHero.095a9d6e.js b/_nuxt/BlockHero.b705cb9e.js similarity index 85% rename from _nuxt/BlockHero.095a9d6e.js rename to _nuxt/BlockHero.b705cb9e.js index 78807fdaf1..bf8069b3e5 100644 --- a/_nuxt/BlockHero.095a9d6e.js +++ b/_nuxt/BlockHero.b705cb9e.js @@ -1 +1 @@ -import _ from"./ButtonLink.be07cd74.js";import m from"./Terminal.d38677a0.js";import y from"./VideoPlayer.b5a8aa7e.js";import{d as f,b as o,c as n,e as s,$ as a,f as r,F as h,Y as c,w as k,G as i,t as d,ab as v,k as $}from"./entry.8cfa8efb.js";import"./NuxtImg.vue.b90fde17.js";const B={class:"block-hero"},w={class:"layout"},g={class:"content"},H={key:0,class:"announce"},S={class:"title"},b={class:"description"},q={key:1,class:"extra"},V={class:"actions"},x=["href"],A={class:"support"},C=f({__name:"BlockHero",props:{cta:{type:Array,required:!1,default:()=>[]},secondary:{type:Array,required:!1,default:()=>[]},video:{type:String,required:!1,default:""},snippet:{type:[Array,String],required:!1,default:""}},setup(e){return(t,N)=>{const l=_,u=m,p=y;return o(),n("section",B,[s("div",w,[s("div",g,[t.$slots.announce?(o(),n("p",H,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",S,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",b,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",q,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",V,[t.$slots.actions?a(t.$slots,"actions",{key:0,unwrap:"p"},void 0,!0):(o(),n(h,{key:1},[e.cta?(o(),c(l,{key:0,class:"cta",bold:"",size:"medium",href:e.cta[1]},{default:k(()=>[i(d(e.cta[0]),1)]),_:1},8,["href"])):r("",!0),e.secondary?(o(),n("a",{key:1,href:e.secondary[1],class:"secondary"},d(e.secondary[0]),9,x)):r("",!0)],64))])]),s("div",A,[v(t.$slots,"support",{},()=>[e.snippet?(o(),c(u,{key:0,content:e.snippet},null,8,["content"])):e.video?(o(),c(p,{key:1,src:e.video},null,8,["src"])):r("",!0)],!0)])])])}}});const G=$(C,[["__scopeId","data-v-8013571d"]]);export{G as default}; +import _ from"./ButtonLink.8382d34b.js";import m from"./Terminal.c1821b13.js";import y from"./VideoPlayer.bd73326f.js";import{d as f,b as o,c as n,e as s,$ as a,f as r,F as h,Y as c,w as k,G as i,t as d,ab as v,k as $}from"./entry.363473ce.js";import"./NuxtImg.vue.e55e6bf2.js";const B={class:"block-hero"},w={class:"layout"},g={class:"content"},H={key:0,class:"announce"},S={class:"title"},b={class:"description"},q={key:1,class:"extra"},V={class:"actions"},x=["href"],A={class:"support"},C=f({__name:"BlockHero",props:{cta:{type:Array,required:!1,default:()=>[]},secondary:{type:Array,required:!1,default:()=>[]},video:{type:String,required:!1,default:""},snippet:{type:[Array,String],required:!1,default:""}},setup(e){return(t,N)=>{const l=_,u=m,p=y;return o(),n("section",B,[s("div",w,[s("div",g,[t.$slots.announce?(o(),n("p",H,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",S,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",b,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",q,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",V,[t.$slots.actions?a(t.$slots,"actions",{key:0,unwrap:"p"},void 0,!0):(o(),n(h,{key:1},[e.cta?(o(),c(l,{key:0,class:"cta",bold:"",size:"medium",href:e.cta[1]},{default:k(()=>[i(d(e.cta[0]),1)]),_:1},8,["href"])):r("",!0),e.secondary?(o(),n("a",{key:1,href:e.secondary[1],class:"secondary"},d(e.secondary[0]),9,x)):r("",!0)],64))])]),s("div",A,[v(t.$slots,"support",{},()=>[e.snippet?(o(),c(u,{key:0,content:e.snippet},null,8,["content"])):e.video?(o(),c(p,{key:1,src:e.video},null,8,["src"])):r("",!0)],!0)])])])}}});const G=$(C,[["__scopeId","data-v-8013571d"]]);export{G as default}; diff --git a/_nuxt/ButtonLink.be07cd74.js b/_nuxt/ButtonLink.8382d34b.js similarity index 91% rename from _nuxt/ButtonLink.be07cd74.js rename to _nuxt/ButtonLink.8382d34b.js index a76cdd523c..97f404ed33 100644 --- a/_nuxt/ButtonLink.be07cd74.js +++ b/_nuxt/ButtonLink.8382d34b.js @@ -1 +1 @@ -import{d as _,aj as p,K as a,ac as f,b as o,Y as s,w as m,f as g,$ as x,n as S,L as b,a1 as h,H as k,k as y}from"./entry.8cfa8efb.js";const z=_({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:p("primary"),href:{type:String,required:!0,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const i=a(()=>((t=n)=>`{color.${t.color}.600}`)()),c=a(()=>((t=n)=>`{color.${t.color}.500}`)()),n=e,r={size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}},{$pinceau:l}=f(n,r,{_YM9_buttonPrimary:i,_A23_buttonSecondary:c});return(t,H)=>{const u=h,d=k;return o(),s(d,{class:S(["button-link",[b(l)]]),to:e.href,target:e.blank?"_blank":void 0},{default:m(()=>[e.icon?(o(),s(u,{key:0,name:e.icon},null,8,["name"])):g("",!0),x(t.$slots,"default",{unwrap:"p ul li"},void 0,!0)]),_:3},8,["to","target","class"])}}});const B=y(z,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; +import{d as _,aj as p,K as a,ac as f,b as o,Y as s,w as m,f as g,$ as x,n as S,L as b,a1 as h,H as k,k as y}from"./entry.363473ce.js";const z=_({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:p("primary"),href:{type:String,required:!0,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const i=a(()=>((t=n)=>`{color.${t.color}.600}`)()),c=a(()=>((t=n)=>`{color.${t.color}.500}`)()),n=e,r={size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}},{$pinceau:l}=f(n,r,{_YM9_buttonPrimary:i,_A23_buttonSecondary:c});return(t,H)=>{const u=h,d=k;return o(),s(d,{class:S(["button-link",[b(l)]]),to:e.href,target:e.blank?"_blank":void 0},{default:m(()=>[e.icon?(o(),s(u,{key:0,name:e.icon},null,8,["name"])):g("",!0),x(t.$slots,"default",{unwrap:"p ul li"},void 0,!0)]),_:3},8,["to","target","class"])}}});const B=y(z,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; diff --git a/_nuxt/Callout.4b7680eb.js b/_nuxt/Callout.afe9558a.js similarity index 92% rename from _nuxt/Callout.4b7680eb.js rename to _nuxt/Callout.afe9558a.js index 2fcb08b0d8..ca460b9459 100644 --- a/_nuxt/Callout.4b7680eb.js +++ b/_nuxt/Callout.afe9558a.js @@ -1 +1 @@ -import{d as m,r as o,b as p,c as v,e as s,$ as n,g as f,n as l,L as c,a2 as g,aH as h,a1 as y,k as C}from"./entry.8cfa8efb.js";const V={class:"summary"},k={class:"content"},w=m({__name:"Callout",props:{type:{type:String,default:"info",validator(a){return["info","success","warning","danger","primary"].includes(a)}},modelValue:{required:!1,default:()=>o(!1)}},emits:["update:modelValue"],setup(a,{emit:r}){const u=a,d=r,e=o(u.modelValue),i=()=>{e.value=!e.value,d("update:modelValue",e.value)};return(t,b)=>{const _=y;return p(),v("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:i},[s("span",V,[n(t.$slots,"summary",{},void 0,!0)]),f(_,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),g(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[h,c(e)]])],2)}}});const B=C(w,[["__scopeId","data-v-a97d64bd"]]);export{B as default}; +import{d as m,r as o,b as p,c as v,e as s,$ as n,g as f,n as l,L as c,a2 as g,aH as h,a1 as y,k as C}from"./entry.363473ce.js";const V={class:"summary"},k={class:"content"},w=m({__name:"Callout",props:{type:{type:String,default:"info",validator(a){return["info","success","warning","danger","primary"].includes(a)}},modelValue:{required:!1,default:()=>o(!1)}},emits:["update:modelValue"],setup(a,{emit:r}){const u=a,d=r,e=o(u.modelValue),i=()=>{e.value=!e.value,d("update:modelValue",e.value)};return(t,b)=>{const _=y;return p(),v("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:i},[s("span",V,[n(t.$slots,"summary",{},void 0,!0)]),f(_,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),g(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[h,c(e)]])],2)}}});const B=C(w,[["__scopeId","data-v-a97d64bd"]]);export{B as default}; diff --git a/_nuxt/Card.60fb4ab4.js b/_nuxt/Card.6f9ae951.js similarity index 89% rename from _nuxt/Card.60fb4ab4.js rename to _nuxt/Card.6f9ae951.js index 45f68b9d28..73fc5182c7 100644 --- a/_nuxt/Card.60fb4ab4.js +++ b/_nuxt/Card.6f9ae951.js @@ -1 +1 @@ -import{d as r,b as s,c as d,Y as _,f as l,ab as i,e as t,$ as n,a1 as p,G as a,k as u}from"./entry.8cfa8efb.js";const m={class:"card"},f={class:"title"},v={class:"description"},C=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,$)=>{const c=p;return s(),d("div",m,[o.icon?(s(),_(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),i(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[n(e.$slots,"title",{unwrap:"p"},()=>[a(" Card title ")],!0)]),t("p",v,[n(e.$slots,"description",{unwrap:"p"},()=>[a(" Card description ")],!0)])])])}}});const k=u(C,[["__scopeId","data-v-fcbd031d"]]);export{k as default}; +import{d as r,b as s,c as d,Y as _,f as l,ab as i,e as t,$ as n,a1 as p,G as a,k as u}from"./entry.363473ce.js";const m={class:"card"},f={class:"title"},v={class:"description"},C=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,$)=>{const c=p;return s(),d("div",m,[o.icon?(s(),_(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),i(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[n(e.$slots,"title",{unwrap:"p"},()=>[a(" Card title ")],!0)]),t("p",v,[n(e.$slots,"description",{unwrap:"p"},()=>[a(" Card description ")],!0)])])])}}});const k=u(C,[["__scopeId","data-v-fcbd031d"]]);export{k as default}; diff --git a/_nuxt/CardGrid.0ef7b911.js b/_nuxt/CardGrid.0b546144.js similarity index 87% rename from _nuxt/CardGrid.0ef7b911.js rename to _nuxt/CardGrid.0b546144.js index f830967722..dfd0690677 100644 --- a/_nuxt/CardGrid.0ef7b911.js +++ b/_nuxt/CardGrid.0b546144.js @@ -1 +1 @@ -import{d as o,b as r,c as d,$ as t,e as s,ab as n,G as _,t as c,k as i}from"./entry.8cfa8efb.js";const l={class:"card-grid"},p={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",l,[t(e.$slots,"root",{},void 0,!0),s("h2",p,[t(e.$slots,"title",{unwrap:"p"},()=>[_(c(a.title),1)],!0)]),s("div",u,[n(e.$slots,"default",{},void 0,!0)])]))}});const h=i(f,[["__scopeId","data-v-12aa13c8"]]);export{h as default}; +import{d as o,b as r,c as d,$ as t,e as s,ab as n,G as _,t as c,k as i}from"./entry.363473ce.js";const l={class:"card-grid"},p={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",l,[t(e.$slots,"root",{},void 0,!0),s("h2",p,[t(e.$slots,"title",{unwrap:"p"},()=>[_(c(a.title),1)],!0)]),s("div",u,[n(e.$slots,"default",{},void 0,!0)])]))}});const h=i(f,[["__scopeId","data-v-12aa13c8"]]);export{h as default}; diff --git a/_nuxt/ChallengeV2.40fb78ea.js b/_nuxt/ChallengeV2.40fb78ea.js deleted file mode 100644 index 1e5fc1fccc..0000000000 --- a/_nuxt/ChallengeV2.40fb78ea.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./ChallengeV2.vue.60d977f0.js";import"./component-v2.05f6057d.js";import"./entry.8cfa8efb.js";export{o as default}; diff --git a/_nuxt/ChallengeV2.ccc7d751.js b/_nuxt/ChallengeV2.ccc7d751.js new file mode 100644 index 0000000000..70f34b7df5 --- /dev/null +++ b/_nuxt/ChallengeV2.ccc7d751.js @@ -0,0 +1 @@ +import{_ as o}from"./ChallengeV2.vue.16fe6184.js";import"./component-v2.4f123e31.js";import"./entry.363473ce.js";export{o as default}; diff --git a/_nuxt/ChallengeV2.vue.60d977f0.js b/_nuxt/ChallengeV2.vue.16fe6184.js similarity index 85% rename from _nuxt/ChallengeV2.vue.60d977f0.js rename to _nuxt/ChallengeV2.vue.16fe6184.js index de44671741..987cff3910 100644 --- a/_nuxt/ChallengeV2.vue.60d977f0.js +++ b/_nuxt/ChallengeV2.vue.16fe6184.js @@ -1 +1 @@ -import{u as g}from"./component-v2.05f6057d.js";import{d as x,ak as V,a8 as _,b as v,Y as w,w as C,ab as k,al as h,am as B,L as E,e as I,an as y}from"./entry.8cfa8efb.js";const R=x({__name:"ChallengeV2",props:{as:{default:"div"},widgetId:{},badge:{default:"bottomright"},tabindex:{},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(s,{expose:r,emit:i}){const e=s,d=i,{root:n,reset:a,widgetID:l,state:u,execute:t,isError:c,isExpired:p,isVerified:m}=g({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:c,isExpired:p,isVerified:m});function b(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:b},{default:C(()=>[k(o.$slots,"default",h(B(E(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; +import{u as g}from"./component-v2.4f123e31.js";import{d as x,ak as V,a8 as _,b as v,Y as w,w as C,ab as k,al as h,am as B,L as E,e as I,an as y}from"./entry.363473ce.js";const R=x({__name:"ChallengeV2",props:{as:{default:"div"},widgetId:{},badge:{default:"bottomright"},tabindex:{},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(s,{expose:r,emit:i}){const e=s,d=i,{root:n,reset:a,widgetID:l,state:u,execute:t,isError:c,isExpired:p,isVerified:m}=g({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:c,isExpired:p,isVerified:m});function b(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:b},{default:C(()=>[k(o.$slots,"default",h(B(E(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; diff --git a/_nuxt/ChallengeV2Demo.a6d088c7.js b/_nuxt/ChallengeV2Demo.a2372507.js similarity index 62% rename from _nuxt/ChallengeV2Demo.a6d088c7.js rename to _nuxt/ChallengeV2Demo.a2372507.js index 5fd153cd6f..98dd052348 100644 --- a/_nuxt/ChallengeV2Demo.a6d088c7.js +++ b/_nuxt/ChallengeV2Demo.a2372507.js @@ -1 +1 @@ -import p from"./PrimaryButton.f4f8ca29.js";import{_ as c}from"./ChallengeV2.vue.60d977f0.js";import{d as _,r as d,b as f,Y as u,w as n,g as V,G as x,t as s,L as a,Z as C}from"./entry.8cfa8efb.js";import{R as t}from"./component-v2.05f6057d.js";const w=_({__name:"ChallengeV2Demo",setup(g){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(h,r)=>{const i=p,m=c;return f(),u(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[V(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{w as default}; +import p from"./PrimaryButton.f52dfa59.js";import{_ as c}from"./ChallengeV2.vue.16fe6184.js";import{d as _,r as d,b as f,Y as u,w as n,g as V,G as x,t as s,L as a,Z as C}from"./entry.363473ce.js";import{R as t}from"./component-v2.4f123e31.js";const w=_({__name:"ChallengeV2Demo",setup(g){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(h,r)=>{const i=p,m=c;return f(),u(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[V(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{w as default}; diff --git a/_nuxt/ChallengeV3.05eab444.js b/_nuxt/ChallengeV3.05eab444.js new file mode 100644 index 0000000000..9dc49528eb --- /dev/null +++ b/_nuxt/ChallengeV3.05eab444.js @@ -0,0 +1 @@ +import{_ as m}from"./ChallengeV3.vue.79fc99d7.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/ChallengeV3.70fdc96c.js b/_nuxt/ChallengeV3.70fdc96c.js deleted file mode 100644 index 88a1b364ae..0000000000 --- a/_nuxt/ChallengeV3.70fdc96c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ChallengeV3.vue.f80b4ea1.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/ChallengeV3.vue.f80b4ea1.js b/_nuxt/ChallengeV3.vue.79fc99d7.js similarity index 81% rename from _nuxt/ChallengeV3.vue.f80b4ea1.js rename to _nuxt/ChallengeV3.vue.79fc99d7.js index cdc33c2e7b..ed003837fc 100644 --- a/_nuxt/ChallengeV3.vue.f80b4ea1.js +++ b/_nuxt/ChallengeV3.vue.79fc99d7.js @@ -1 +1 @@ -import{at as l,ap as i,r as p,d as m,a8 as d,ar as f,b as x,Y as y,w as h,ab as v,al as C,am as V,L as _,an as w}from"./entry.8cfa8efb.js";function g(s){const o=l(),e=i(),a=p();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const P=m({__name:"ChallengeV3",props:{action:{},as:{default:"div"},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["update:modelValue"],setup(s,{emit:o}){const e=s,a=o,{response:n,execute:r}=g(e.action),u=d({response:n,execute:r});f(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(w(t.as),{onClick:c},{default:h(()=>[v(t.$slots,"default",C(V(_(u))))]),_:3}))}});export{P as _}; +import{at as l,ap as i,r as p,d as m,a8 as d,ar as f,b as x,Y as y,w as h,ab as v,al as C,am as V,L as _,an as w}from"./entry.363473ce.js";function g(s){const o=l(),e=i(),a=p();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const P=m({__name:"ChallengeV3",props:{action:{},as:{default:"div"},autoExecute:{type:Boolean,default:!0},modelValue:{}},emits:["update:modelValue"],setup(s,{emit:o}){const e=s,a=o,{response:n,execute:r}=g(e.action),u=d({response:n,execute:r});f(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(w(t.as),{onClick:c},{default:h(()=>[v(t.$slots,"default",C(V(_(u))))]),_:3}))}});export{P as _}; diff --git a/_nuxt/ChallengeV3Demo.f78ed68a.js b/_nuxt/ChallengeV3Demo.34b7cb9e.js similarity index 66% rename from _nuxt/ChallengeV3Demo.f78ed68a.js rename to _nuxt/ChallengeV3Demo.34b7cb9e.js index 6cf2f858f8..933a7946f6 100644 --- a/_nuxt/ChallengeV3Demo.f78ed68a.js +++ b/_nuxt/ChallengeV3Demo.34b7cb9e.js @@ -1 +1 @@ -import m from"./PrimaryButton.f4f8ca29.js";import{_ as c}from"./ChallengeV3.vue.f80b4ea1.js";import{d as _,r as p,b as u,c as i,g as n,w as a,G as d,t as f,L as t,Z as V}from"./entry.8cfa8efb.js";const B=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return u(),i("div",null,[n(l,{modelValue:t(e),"onUpdate:modelValue":o[0]||(o[0]=r=>V(e)?e.value=r:null),action:"submit"},{default:a(()=>[n(s,null,{default:a(()=>[d(f(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{B as default}; +import m from"./PrimaryButton.f52dfa59.js";import{_ as c}from"./ChallengeV3.vue.79fc99d7.js";import{d as _,r as p,b as u,c as i,g as n,w as a,G as d,t as f,L as t,Z as V}from"./entry.363473ce.js";const B=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return u(),i("div",null,[n(l,{modelValue:t(e),"onUpdate:modelValue":o[0]||(o[0]=r=>V(e)?e.value=r:null),action:"submit"},{default:a(()=>[n(s,null,{default:a(()=>[d(f(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{B as default}; diff --git a/_nuxt/Checkbox.5aac6a53.js b/_nuxt/Checkbox.5aac6a53.js new file mode 100644 index 0000000000..3a2a8e77ee --- /dev/null +++ b/_nuxt/Checkbox.5aac6a53.js @@ -0,0 +1 @@ +import{_ as o}from"./Checkbox.vue.22eca99b.js";import"./component-v2.4f123e31.js";import"./entry.363473ce.js";export{o as default}; diff --git a/_nuxt/Checkbox.ed2e3248.js b/_nuxt/Checkbox.ed2e3248.js deleted file mode 100644 index b3ad92cc13..0000000000 --- a/_nuxt/Checkbox.ed2e3248.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./Checkbox.vue.e1e63870.js";import"./component-v2.05f6057d.js";import"./entry.8cfa8efb.js";export{o as default}; diff --git a/_nuxt/Checkbox.vue.e1e63870.js b/_nuxt/Checkbox.vue.22eca99b.js similarity index 75% rename from _nuxt/Checkbox.vue.e1e63870.js rename to _nuxt/Checkbox.vue.22eca99b.js index 5f90c3b8e6..2ec0f71058 100644 --- a/_nuxt/Checkbox.vue.e1e63870.js +++ b/_nuxt/Checkbox.vue.22eca99b.js @@ -1 +1 @@ -import{u as r}from"./component-v2.05f6057d.js";import{d,ak as m,b as i,Y as l,an as p}from"./entry.8cfa8efb.js";const _=d({__name:"Checkbox",props:{as:{default:"div"},widgetId:{},size:{default:"normal"},theme:{default:"light"},tabindex:{},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(t,{emit:o}){const e=t,a=o,{root:s}=r({theme:e.theme,size:e.size,tabindex:e.tabindex},m(e,"modelValue"),a);return(n,u)=>(i(),l(p(n.as),{ref_key:"root",ref:s},null,512))}});export{_}; +import{u as r}from"./component-v2.4f123e31.js";import{d,ak as m,b as i,Y as l,an as p}from"./entry.363473ce.js";const _=d({__name:"Checkbox",props:{as:{default:"div"},widgetId:{},size:{default:"normal"},theme:{default:"light"},tabindex:{},modelValue:{}},emits:["load","error","expired","success","update:widgetId","update:modelValue"],setup(t,{emit:o}){const e=t,a=o,{root:s}=r({theme:e.theme,size:e.size,tabindex:e.tabindex},m(e,"modelValue"),a);return(n,u)=>(i(),l(p(n.as),{ref_key:"root",ref:s},null,512))}});export{_}; diff --git a/_nuxt/CheckboxDemo.81292d3d.js b/_nuxt/CheckboxDemo.1ab6bf90.js similarity index 64% rename from _nuxt/CheckboxDemo.81292d3d.js rename to _nuxt/CheckboxDemo.1ab6bf90.js index b329cb510c..a5fdcd52dd 100644 --- a/_nuxt/CheckboxDemo.81292d3d.js +++ b/_nuxt/CheckboxDemo.1ab6bf90.js @@ -1 +1 @@ -import{_ as c}from"./ThemeButton.vue.b3d3d21a.js";import{_ as i}from"./Checkbox.vue.e1e63870.js";import{d as p,r as a,b as s,c as d,g as f,L as t,Z as m,e as _,t as k,Y as V}from"./entry.8cfa8efb.js";import"./component-v2.05f6057d.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),l=a();return(h,e)=>{const r=c,u=i;return s(),d("div",null,[f(r,{modelValue:t(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>l.value="")},null,8,["modelValue"]),_("div",null,k(t(l)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:t(o),modelValue:t(l),"onUpdate:modelValue":e[2]||(e[2]=n=>m(l)?l.value=n:null),theme:t(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; +import{_ as c}from"./ThemeButton.vue.199003f5.js";import{_ as i}from"./Checkbox.vue.22eca99b.js";import{d as p,r as a,b as s,c as d,g as f,L as t,Z as m,e as _,t as k,Y as V}from"./entry.363473ce.js";import"./component-v2.4f123e31.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),l=a();return(h,e)=>{const r=c,u=i;return s(),d("div",null,[f(r,{modelValue:t(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>l.value="")},null,8,["modelValue"]),_("div",null,k(t(l)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:t(o),modelValue:t(l),"onUpdate:modelValue":e[2]||(e[2]=n=>m(l)?l.value=n:null),theme:t(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; diff --git a/_nuxt/CodeBlock.f67cfd2d.js b/_nuxt/CodeBlock.2c1efb8e.js similarity index 70% rename from _nuxt/CodeBlock.f67cfd2d.js rename to _nuxt/CodeBlock.2c1efb8e.js index 71d2f26fed..1121117751 100644 --- a/_nuxt/CodeBlock.f67cfd2d.js +++ b/_nuxt/CodeBlock.2c1efb8e.js @@ -1 +1 @@ -import{d as a,b as t,c as l,ab as s,n as c,k as n}from"./entry.8cfa8efb.js";const d=a({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,r)=>(t(),l("div",{class:c(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(o.$slots,"default",{},void 0,!0)],2))}});const p=n(d,[["__scopeId","data-v-31606f9f"]]);export{p as default}; +import{d as a,b as t,c as l,ab as s,n as c,k as n}from"./entry.363473ce.js";const d=a({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,r)=>(t(),l("div",{class:c(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(o.$slots,"default",{},void 0,!0)],2))}});const p=n(d,[["__scopeId","data-v-31606f9f"]]);export{p as default}; diff --git a/_nuxt/CodeGroup.3a900a65.js b/_nuxt/CodeGroup.84dd6be9.js similarity index 88% rename from _nuxt/CodeGroup.3a900a65.js rename to _nuxt/CodeGroup.84dd6be9.js index 64c1fdac61..71ba396ba1 100644 --- a/_nuxt/CodeGroup.3a900a65.js +++ b/_nuxt/CodeGroup.84dd6be9.js @@ -1 +1 @@ -import v from"./TabsHeader.aa83efec.js";import{d as o,Q as d,k as u}from"./entry.8cfa8efb.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,b=o({data(){return{activeTabIndex:0,counter:0}},render(){var c,s;const n=((s=(c=this.$slots)==null?void 0:c.default)==null?void 0:s.call(c))||[],i=n.map((e,p)=>{var a,t,_;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((t=e==null?void 0:e.props)==null?void 0:t.label)||`${p}`,active:((_=e==null?void 0:e.props)==null?void 0:_.active)||!1,component:e}});return d("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[d(v,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),d("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,t;return d("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:d("div",{class:{"preview-canvas":!0}},[((t=(a=e.children)==null?void 0:a.default)==null?void 0:t.call(a))||e.children])])}))])}});const m=u(b,[["__scopeId","data-v-b8ed3fdc"]]);export{m as default}; +import v from"./TabsHeader.dd0c96ba.js";import{d as o,Q as d,k as u}from"./entry.363473ce.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,b=o({data(){return{activeTabIndex:0,counter:0}},render(){var c,s;const n=((s=(c=this.$slots)==null?void 0:c.default)==null?void 0:s.call(c))||[],i=n.map((e,p)=>{var a,t,_;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((t=e==null?void 0:e.props)==null?void 0:t.label)||`${p}`,active:((_=e==null?void 0:e.props)==null?void 0:_.active)||!1,component:e}});return d("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[d(v,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),d("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,t;return d("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:d("div",{class:{"preview-canvas":!0}},[((t=(a=e.children)==null?void 0:a.default)==null?void 0:t.call(a))||e.children])])}))])}});const m=u(b,[["__scopeId","data-v-b8ed3fdc"]]);export{m as default}; diff --git a/_nuxt/ComponentPlayground.11b3f88c.js b/_nuxt/ComponentPlayground.964c5313.js similarity index 85% rename from _nuxt/ComponentPlayground.11b3f88c.js rename to _nuxt/ComponentPlayground.964c5313.js index 362d6d5609..5ecb117aed 100644 --- a/_nuxt/ComponentPlayground.11b3f88c.js +++ b/_nuxt/ComponentPlayground.964c5313.js @@ -1 +1 @@ -import{L as u,aL as v,K as a,d as m,ac as S,b as $,c as I,n as w,p as P,i as C,e as x,k as f,ae as E,r as D,Q as c}from"./entry.8cfa8efb.js";import j from"./ComponentPlaygroundData.2d0a6c03.js";import"./TabsHeader.aa83efec.js";import"./ComponentPlaygroundProps.71d840f7.js";import"./ProseH4.a256f8e8.js";import"./ProseCodeInline.b8352ab0.js";import"./Badge.7e0c9ea2.js";import"./ProseP.6f520d03.js";import"./ComponentPlaygroundSlots.vue.684177d6.js";import"./ComponentPlaygroundTokens.vue.bfbe3b4d.js";async function z(e){const n=u(e);{const{data:o}=await v(`nuxt-component-meta${n?`-${n}`:""}`,()=>$fetch(`/api/component-meta${n?`/${n}`:""}`));return a(()=>o.value)}}const B=e=>(P("data-v-9dbf5846"),e=e(),C(),e),k=B(()=>x("div",{class:"ellipsis-item"},null,-1)),N=[k],V=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(e){const n=a(()=>((t=s)=>t.top)()),o=a(()=>((t=s)=>t.left)()),r=a(()=>((t=s)=>t.right)()),i=a(()=>((t=s)=>t.zIndex)()),l=a(()=>((t=s)=>t.width)()),g=a(()=>((t=s)=>t.height)()),y=a(()=>((t=s)=>`blur(${t.blur})`)()),h=a(()=>((t=s)=>{var d,p,_;return`linear-gradient(97.62deg, ${(d=t==null?void 0:t.colors)==null?void 0:d[0]} 2.27%, ${(p=t==null?void 0:t.colors)==null?void 0:p[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),s=e,{$pinceau:b}=S(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:y,_yUj_background:h});return(t,d)=>($(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}});const q=f(V,[["__scopeId","data-v-9dbf5846"]]),A=m({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>E(e.component)),o=D({...e.props}),r=await z(e.component);return{as:n,formProps:o,componentData:r}},render(e){const n=Object.entries(this.$slots).reduce((o,[r,i])=>{if(r.startsWith("component-")){const l=r.replace("component-","");o[l]=i}return o},{});return c("div",{class:"component-playground"},[c("div",{class:"component-playground-wrapper"},[c(q,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),c(e.as,{...e.formProps,class:"component-playground-component"},{...n})]),c(j,{modelValue:e.formProps,componentData:e.componentData,"onUpdate:modelValue":o=>e.formProps=o})])}});const G=f(A,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; +import{L as u,aL as v,K as a,d as m,ac as S,b as $,c as I,n as w,p as P,i as C,e as x,k as f,ae as E,r as D,Q as c}from"./entry.363473ce.js";import j from"./ComponentPlaygroundData.9e3ab38d.js";import"./TabsHeader.dd0c96ba.js";import"./ComponentPlaygroundProps.d5cd8e19.js";import"./ProseH4.9099838c.js";import"./ProseCodeInline.9c9d33d7.js";import"./Badge.436f1233.js";import"./ProseP.4963ee57.js";import"./ComponentPlaygroundSlots.vue.013615f2.js";import"./ComponentPlaygroundTokens.vue.005e5c3f.js";async function z(e){const n=u(e);{const{data:o}=await v(`nuxt-component-meta${n?`-${n}`:""}`,()=>$fetch(`/api/component-meta${n?`/${n}`:""}`));return a(()=>o.value)}}const B=e=>(P("data-v-9dbf5846"),e=e(),C(),e),k=B(()=>x("div",{class:"ellipsis-item"},null,-1)),N=[k],V=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(e){const n=a(()=>((t=s)=>t.top)()),o=a(()=>((t=s)=>t.left)()),r=a(()=>((t=s)=>t.right)()),i=a(()=>((t=s)=>t.zIndex)()),l=a(()=>((t=s)=>t.width)()),g=a(()=>((t=s)=>t.height)()),y=a(()=>((t=s)=>`blur(${t.blur})`)()),h=a(()=>((t=s)=>{var d,p,_;return`linear-gradient(97.62deg, ${(d=t==null?void 0:t.colors)==null?void 0:d[0]} 2.27%, ${(p=t==null?void 0:t.colors)==null?void 0:p[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),s=e,{$pinceau:b}=S(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:y,_yUj_background:h});return(t,d)=>($(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}});const q=f(V,[["__scopeId","data-v-9dbf5846"]]),A=m({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>E(e.component)),o=D({...e.props}),r=await z(e.component);return{as:n,formProps:o,componentData:r}},render(e){const n=Object.entries(this.$slots).reduce((o,[r,i])=>{if(r.startsWith("component-")){const l=r.replace("component-","");o[l]=i}return o},{});return c("div",{class:"component-playground"},[c("div",{class:"component-playground-wrapper"},[c(q,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),c(e.as,{...e.formProps,class:"component-playground-component"},{...n})]),c(j,{modelValue:e.formProps,componentData:e.componentData,"onUpdate:modelValue":o=>e.formProps=o})])}});const G=f(A,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; diff --git a/_nuxt/ComponentPlaygroundData.2d0a6c03.js b/_nuxt/ComponentPlaygroundData.9e3ab38d.js similarity index 63% rename from _nuxt/ComponentPlaygroundData.2d0a6c03.js rename to _nuxt/ComponentPlaygroundData.9e3ab38d.js index a511b96b4c..74ba280bf5 100644 --- a/_nuxt/ComponentPlaygroundData.2d0a6c03.js +++ b/_nuxt/ComponentPlaygroundData.9e3ab38d.js @@ -1 +1 @@ -import y from"./TabsHeader.aa83efec.js";import g from"./ComponentPlaygroundProps.71d840f7.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.684177d6.js";import{_ as x}from"./ComponentPlaygroundTokens.vue.bfbe3b4d.js";import{d as k,a0 as D,r as V,b as n,c as C,g as P,L as o,Y as m,Z as T,f as s,k as B}from"./entry.8cfa8efb.js";import"./ProseH4.a256f8e8.js";import"./ProseCodeInline.b8352ab0.js";import"./Badge.7e0c9ea2.js";import"./ProseP.6f520d03.js";const I={class:"component-playground-data"},j=k({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const a=D(t,"modelValue",p),e=V(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=l=>e.value=l;return(l,c)=>{const u=y,_=g,i=v,f=x;return n(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(n(),m(_,{key:0,modelValue:o(a),"onUpdate:modelValue":c[0]||(c[0]=b=>T(a)?a.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}});const Y=B(j,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; +import y from"./TabsHeader.dd0c96ba.js";import g from"./ComponentPlaygroundProps.d5cd8e19.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.013615f2.js";import{_ as x}from"./ComponentPlaygroundTokens.vue.005e5c3f.js";import{d as k,a0 as D,r as V,b as n,c as C,g as P,L as o,Y as m,Z as T,f as s,k as B}from"./entry.363473ce.js";import"./ProseH4.9099838c.js";import"./ProseCodeInline.9c9d33d7.js";import"./Badge.436f1233.js";import"./ProseP.4963ee57.js";const I={class:"component-playground-data"},j=k({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const a=D(t,"modelValue",p),e=V(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=l=>e.value=l;return(l,c)=>{const u=y,_=g,i=v,f=x;return n(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(n(),m(_,{key:0,modelValue:o(a),"onUpdate:modelValue":c[0]||(c[0]=b=>T(a)?a.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}});const Y=B(j,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundProps.71d840f7.js b/_nuxt/ComponentPlaygroundProps.d5cd8e19.js similarity index 81% rename from _nuxt/ComponentPlaygroundProps.71d840f7.js rename to _nuxt/ComponentPlaygroundProps.d5cd8e19.js index af391186e1..73fdf708a3 100644 --- a/_nuxt/ComponentPlaygroundProps.71d840f7.js +++ b/_nuxt/ComponentPlaygroundProps.d5cd8e19.js @@ -1 +1 @@ -import k from"./ProseH4.a256f8e8.js";import b from"./ProseCodeInline.b8352ab0.js";import B from"./Badge.7e0c9ea2.js";import q from"./ProseP.6f520d03.js";import{d as D,a0 as N,K as j,b as o,c as r,F as w,aC as F,L as d,e as m,g as l,w as s,G as _,t as u,Y as i,f as p,k as I}from"./entry.8cfa8efb.js";const L={class:"component-playground-data-section"},O=["id"],E=["value","onChange"],G=D({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:g}){const a=f,c=N(a,"modelValue",g),y=(t,n)=>{c.value={...c.value,[n]:t.target.value}},v=j(()=>{var t,n;return(n=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:n.props});return(t,n)=>{const x=k,C=b,P=B,h=q;return o(),r("div",L,[(o(!0),r(w,null,F(d(v),e=>(o(),r("div",{key:e.name},[m("div",{id:e.name,class:"prop-title"},[l(x,{id:e.name},{default:s(()=>[_(u(e.name),1)]),_:2},1032,["id"]),m("span",null,[l(C,null,{default:s(()=>[_(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),i(P,{key:0},{default:s(()=>[_(" Required ")]),_:1}))])],8,O),e.description?(o(),i(h,{key:0},{default:s(()=>[_(u(e.description),1)]),_:2},1024)):p("",!0),m("input",{value:d(c)[e.name],onChange:V=>y(V,e.name)},null,40,E)]))),128))])}}});const Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; +import k from"./ProseH4.9099838c.js";import b from"./ProseCodeInline.9c9d33d7.js";import B from"./Badge.436f1233.js";import q from"./ProseP.4963ee57.js";import{d as D,a0 as N,K as j,b as o,c as r,F as w,aC as F,L as d,e as m,g as l,w as s,G as _,t as u,Y as i,f as p,k as I}from"./entry.363473ce.js";const L={class:"component-playground-data-section"},O=["id"],E=["value","onChange"],G=D({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:g}){const a=f,c=N(a,"modelValue",g),y=(t,n)=>{c.value={...c.value,[n]:t.target.value}},v=j(()=>{var t,n;return(n=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:n.props});return(t,n)=>{const x=k,C=b,P=B,h=q;return o(),r("div",L,[(o(!0),r(w,null,F(d(v),e=>(o(),r("div",{key:e.name},[m("div",{id:e.name,class:"prop-title"},[l(x,{id:e.name},{default:s(()=>[_(u(e.name),1)]),_:2},1032,["id"]),m("span",null,[l(C,null,{default:s(()=>[_(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),i(P,{key:0},{default:s(()=>[_(" Required ")]),_:1}))])],8,O),e.description?(o(),i(h,{key:0},{default:s(()=>[_(u(e.description),1)]),_:2},1024)):p("",!0),m("input",{value:d(c)[e.name],onChange:V=>y(V,e.name)},null,40,E)]))),128))])}}});const Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.4301dc9f.js b/_nuxt/ComponentPlaygroundSlots.4301dc9f.js deleted file mode 100644 index 80f7c81be0..0000000000 --- a/_nuxt/ComponentPlaygroundSlots.4301dc9f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundSlots.vue.684177d6.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.ba4539e6.js b/_nuxt/ComponentPlaygroundSlots.ba4539e6.js new file mode 100644 index 0000000000..5083e3bf9a --- /dev/null +++ b/_nuxt/ComponentPlaygroundSlots.ba4539e6.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundSlots.vue.013615f2.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.vue.684177d6.js b/_nuxt/ComponentPlaygroundSlots.vue.013615f2.js similarity index 80% rename from _nuxt/ComponentPlaygroundSlots.vue.684177d6.js rename to _nuxt/ComponentPlaygroundSlots.vue.013615f2.js index 3086a7705b..821fd39228 100644 --- a/_nuxt/ComponentPlaygroundSlots.vue.684177d6.js +++ b/_nuxt/ComponentPlaygroundSlots.vue.013615f2.js @@ -1 +1 @@ -import{d as t,b as n,c as o,e as a,t as s}from"./entry.8cfa8efb.js";const r={class:"component-playground-data-section"},i=t({__name:"ComponentPlaygroundSlots",props:{componentData:{type:Object,required:!0}},setup(e){return(c,p)=>(n(),o("div",r,[a("pre",null,s(JSON.stringify(e.componentData,null,2)),1)]))}});export{i as _}; +import{d as t,b as n,c as o,e as a,t as s}from"./entry.363473ce.js";const r={class:"component-playground-data-section"},i=t({__name:"ComponentPlaygroundSlots",props:{componentData:{type:Object,required:!0}},setup(e){return(c,p)=>(n(),o("div",r,[a("pre",null,s(JSON.stringify(e.componentData,null,2)),1)]))}});export{i as _}; diff --git a/_nuxt/ComponentPlaygroundTokens.0c5cff43.js b/_nuxt/ComponentPlaygroundTokens.0c5cff43.js new file mode 100644 index 0000000000..83be254c41 --- /dev/null +++ b/_nuxt/ComponentPlaygroundTokens.0c5cff43.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundTokens.vue.005e5c3f.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.68c43e3d.js b/_nuxt/ComponentPlaygroundTokens.68c43e3d.js deleted file mode 100644 index bff13743c3..0000000000 --- a/_nuxt/ComponentPlaygroundTokens.68c43e3d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundTokens.vue.bfbe3b4d.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.vue.bfbe3b4d.js b/_nuxt/ComponentPlaygroundTokens.vue.005e5c3f.js similarity index 77% rename from _nuxt/ComponentPlaygroundTokens.vue.bfbe3b4d.js rename to _nuxt/ComponentPlaygroundTokens.vue.005e5c3f.js index 62e61cb53a..42efa32137 100644 --- a/_nuxt/ComponentPlaygroundTokens.vue.bfbe3b4d.js +++ b/_nuxt/ComponentPlaygroundTokens.vue.005e5c3f.js @@ -1 +1 @@ -import{d as t,b as o,c as n,t as a}from"./entry.8cfa8efb.js";const c={class:"component-playground-data-section"},m=t({__name:"ComponentPlaygroundTokens",props:{componentData:{type:Object,required:!0}},setup(e){return(s,r)=>(o(),n("div",c,a(e.componentData),1))}});export{m as _}; +import{d as t,b as o,c as n,t as a}from"./entry.363473ce.js";const c={class:"component-playground-data-section"},m=t({__name:"ComponentPlaygroundTokens",props:{componentData:{type:Object,required:!0}},setup(e){return(s,r)=>(o(),n("div",c,a(e.componentData),1))}});export{m as _}; diff --git a/_nuxt/ContentDoc.0106fa62.js b/_nuxt/ContentDoc.65d89f43.js similarity index 86% rename from _nuxt/ContentDoc.0106fa62.js rename to _nuxt/ContentDoc.65d89f43.js index c85f1cefc3..67a41d50a7 100644 --- a/_nuxt/ContentDoc.0106fa62.js +++ b/_nuxt/ContentDoc.65d89f43.js @@ -1 +1 @@ -import{d as C,l as g,ad as v,aO as D,s as w,Q as o,X as p}from"./entry.8cfa8efb.js";import _ from"./ContentRenderer.301e652b.js";import S from"./ContentQuery.d94c323c.js";import"./ContentRendererMarkdown.vue.498723d7.js";const q=C({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(f){const{contentHead:c}=g().public.content,e=v(),{tag:m,excerpt:i,path:s,query:a,head:r}=f,u=r===void 0?c:r,l={...a||{},path:s||(a==null?void 0:a.path)||D(w().path),find:"one"},h=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(S,l,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:y})=>{var d;return u&&p(t),(d=e.default)==null?void 0:d.call(e,{doc:t,refresh:n,isPartial:y,excerpt:i,...this.$attrs})}:({data:t})=>(u&&p(t),o(_,{value:t,excerpt:i,tag:m,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):h("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),b=q;export{b as default}; +import{d as C,l as g,ad as v,aO as D,s as w,Q as o,X as p}from"./entry.363473ce.js";import _ from"./ContentRenderer.a1404e70.js";import S from"./ContentQuery.edc0febd.js";import"./ContentRendererMarkdown.vue.fe8f4dc4.js";const q=C({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(f){const{contentHead:c}=g().public.content,e=v(),{tag:m,excerpt:i,path:s,query:a,head:r}=f,u=r===void 0?c:r,l={...a||{},path:s||(a==null?void 0:a.path)||D(w().path),find:"one"},h=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(S,l,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:y})=>{var d;return u&&p(t),(d=e.default)==null?void 0:d.call(e,{doc:t,refresh:n,isPartial:y,excerpt:i,...this.$attrs})}:({data:t})=>(u&&p(t),o(_,{value:t,excerpt:i,tag:m,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):h("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),b=q;export{b as default}; diff --git a/_nuxt/ContentList.cc4288fa.js b/_nuxt/ContentList.99a21dce.js similarity index 84% rename from _nuxt/ContentList.cc4288fa.js rename to _nuxt/ContentList.99a21dce.js index c99b1e6f94..aedb753f41 100644 --- a/_nuxt/ContentList.cc4288fa.js +++ b/_nuxt/ContentList.99a21dce.js @@ -1 +1 @@ -import m from"./ContentQuery.d94c323c.js";import{d as c,ad as l,Q as r}from"./entry.8cfa8efb.js";const f=(u,t)=>r("pre",null,JSON.stringify({message:"You should use slots with ",slot:u,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(u){const t=l(),{path:p,query:a}=u,d={...a||{},path:p||(a==null?void 0:a.path)||"/"};return r(m,d,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>f("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):f("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):f("not-found",e==null?void 0:e.data)}})}}),_=h;export{_ as default}; +import m from"./ContentQuery.edc0febd.js";import{d as c,ad as l,Q as r}from"./entry.363473ce.js";const f=(u,t)=>r("pre",null,JSON.stringify({message:"You should use slots with ",slot:u,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(u){const t=l(),{path:p,query:a}=u,d={...a||{},path:p||(a==null?void 0:a.path)||"/"};return r(m,d,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>f("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):f("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):f("not-found",e==null?void 0:e.data)}})}}),_=h;export{_ as default}; diff --git a/_nuxt/ContentNavigation.ba6ab3c2.js b/_nuxt/ContentNavigation.4c75c3d2.js similarity index 92% rename from _nuxt/ContentNavigation.ba6ab3c2.js rename to _nuxt/ContentNavigation.4c75c3d2.js index d7cd73986f..bddb9bce47 100644 --- a/_nuxt/ContentNavigation.ba6ab3c2.js +++ b/_nuxt/ContentNavigation.4c75c3d2.js @@ -1 +1 @@ -import{d,aP as l,K as v,m as f,W as p,aL as m,aR as g,aQ as h,ad as y,Q as u,H as _}from"./entry.8cfa8efb.js";const C=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(i){const{query:a}=l(i),n=v(()=>{var t;return typeof((t=a.value)==null?void 0:t.params)=="function"?a.value.params():a.value});if(!n.value&&f("dd-navigation").value){const{navigation:t}=p();return{navigation:t}}const{data:o}=await m(`content-navigation-${h(n.value)}`,()=>g(n.value));return{navigation:o}},render(i){const a=y(),{navigation:n}=i,o=e=>u(_,{to:e._path},()=>e.title),t=(e,r)=>u("ul",r?{"data-level":r}:null,e.map(s=>s.children?u("li",null,[o(s),t(s.children,r+1)]):u("li",null,o(s)))),c=e=>t(e,0);return a!=null&&a.default?a.default({navigation:n,...this.$attrs}):c(n)}}),N=C;export{N as default}; +import{d,aP as l,K as v,m as f,W as p,aL as m,aR as g,aQ as h,ad as y,Q as u,H as _}from"./entry.363473ce.js";const C=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(i){const{query:a}=l(i),n=v(()=>{var t;return typeof((t=a.value)==null?void 0:t.params)=="function"?a.value.params():a.value});if(!n.value&&f("dd-navigation").value){const{navigation:t}=p();return{navigation:t}}const{data:o}=await m(`content-navigation-${h(n.value)}`,()=>g(n.value));return{navigation:o}},render(i){const a=y(),{navigation:n}=i,o=e=>u(_,{to:e._path},()=>e.title),t=(e,r)=>u("ul",r?{"data-level":r}:null,e.map(s=>s.children?u("li",null,[o(s),t(s.children,r+1)]):u("li",null,o(s)))),c=e=>t(e,0);return a!=null&&a.default?a.default({navigation:n,...this.$attrs}):c(n)}}),N=C;export{N as default}; diff --git a/_nuxt/ContentQuery.d94c323c.js b/_nuxt/ContentQuery.edc0febd.js similarity index 97% rename from _nuxt/ContentQuery.d94c323c.js rename to _nuxt/ContentQuery.edc0febd.js index 3e43afb0c6..979d5b1810 100644 --- a/_nuxt/ContentQuery.d94c323c.js +++ b/_nuxt/ContentQuery.edc0febd.js @@ -1 +1 @@ -import{d as g,aP as C,K as S,l as b,a5 as Q,aL as _,q as m,aQ as k,ad as A,Q as N}from"./entry.8cfa8efb.js";const O=g({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(i){const{path:t,only:r,without:o,where:u,sort:l,limit:d,skip:f,locale:s,find:h}=C(i),p=S(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;Q(()=>i,()=>n(),{deep:!0});const a=e=>y?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await _(`content-query-${k(i)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),l.value&&(e=e.sort(l.value)),d.value&&(e=e.limit(d.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(a):h.value==="surround"?t.value?y?e.findSurround(t.value):e.withSurround(t.value).findOne().then(a):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(a)):e.find().then(a)});return{isPartial:p,data:v,refresh:n}},render(i){var c;const t=A(),{data:r,refresh:o,isPartial:u,path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v}=i,n={path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),P=O;export{P as default}; +import{d as g,aP as C,K as S,l as b,a5 as Q,aL as _,q as m,aQ as k,ad as A,Q as N}from"./entry.363473ce.js";const O=g({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(i){const{path:t,only:r,without:o,where:u,sort:l,limit:d,skip:f,locale:s,find:h}=C(i),p=S(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;Q(()=>i,()=>n(),{deep:!0});const a=e=>y?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await _(`content-query-${k(i)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),u.value&&(e=e.where(u.value)),l.value&&(e=e.sort(l.value)),d.value&&(e=e.limit(d.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),h.value==="one"?e.findOne().then(a):h.value==="surround"?t.value?y?e.findSurround(t.value):e.withSurround(t.value).findOne().then(a):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(a)):e.find().then(a)});return{isPartial:p,data:v,refresh:n}},render(i){var c;const t=A(),{data:r,refresh:o,isPartial:u,path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v}=i,n={path:l,only:d,without:f,where:s,sort:h,limit:p,skip:y,locale:a,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:u,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),P=O;export{P as default}; diff --git a/_nuxt/ContentRenderer.301e652b.js b/_nuxt/ContentRenderer.a1404e70.js similarity index 89% rename from _nuxt/ContentRenderer.301e652b.js rename to _nuxt/ContentRenderer.a1404e70.js index 0e16b2807b..a52e1a1273 100644 --- a/_nuxt/ContentRenderer.301e652b.js +++ b/_nuxt/ContentRenderer.a1404e70.js @@ -1 +1 @@ -import{_ as l}from"./ContentRendererMarkdown.vue.498723d7.js";import{d as o,a5 as s,ad as d,Q as f}from"./entry.8cfa8efb.js";const y=o({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,r,u;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(r=t==null?void 0:t.value)==null?void 0:r._path}.${(u=t==null?void 0:t.value)==null?void 0:u._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var i,c;const n=d(),{value:e,excerpt:r,tag:u}=t,a=r?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((i=a==null?void 0:a.children)!=null&&i.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:r,tag:u,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:r,tag:u,...this.$attrs}):(a==null?void 0:a.type)==="root"&&((c=a==null?void 0:a.children)!=null&&c.length)?f(l,{value:e,excerpt:r,tag:u,...this.$attrs}):f("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:r,tag:u},null,2))}});export{y as default}; +import{_ as l}from"./ContentRendererMarkdown.vue.fe8f4dc4.js";import{d as o,a5 as s,ad as d,Q as f}from"./entry.363473ce.js";const y=o({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,r,u;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(r=t==null?void 0:t.value)==null?void 0:r._path}.${(u=t==null?void 0:t.value)==null?void 0:u._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var i,c;const n=d(),{value:e,excerpt:r,tag:u}=t,a=r?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((i=a==null?void 0:a.children)!=null&&i.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:r,tag:u,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:r,tag:u,...this.$attrs}):(a==null?void 0:a.type)==="root"&&((c=a==null?void 0:a.children)!=null&&c.length)?f(l,{value:e,excerpt:r,tag:u,...this.$attrs}):f("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:r,tag:u},null,2))}});export{y as default}; diff --git a/_nuxt/ContentRendererMarkdown.15b4a41e.js b/_nuxt/ContentRendererMarkdown.15b4a41e.js new file mode 100644 index 0000000000..7196120073 --- /dev/null +++ b/_nuxt/ContentRendererMarkdown.15b4a41e.js @@ -0,0 +1 @@ +import{_ as m}from"./ContentRendererMarkdown.vue.fe8f4dc4.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.c2c69b92.js b/_nuxt/ContentRendererMarkdown.c2c69b92.js deleted file mode 100644 index 7eb669f9c9..0000000000 --- a/_nuxt/ContentRendererMarkdown.c2c69b92.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ContentRendererMarkdown.vue.498723d7.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.vue.498723d7.js b/_nuxt/ContentRendererMarkdown.vue.fe8f4dc4.js similarity index 99% rename from _nuxt/ContentRendererMarkdown.vue.498723d7.js rename to _nuxt/ContentRendererMarkdown.vue.fe8f4dc4.js index 465e818d2a..ce7d4cab27 100644 --- a/_nuxt/ContentRendererMarkdown.vue.498723d7.js +++ b/_nuxt/ContentRendererMarkdown.vue.fe8f4dc4.js @@ -1 +1 @@ -import{d as E,l as J,D as G,Q as R,ae as U,af as Q,ag as C,s as nn,ah as ln,ai as en,K as w,b as on,Y as tn,L as rn}from"./entry.8cfa8efb.js";class x{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}x.prototype.property={};x.prototype.normal={};x.prototype.space=null;function B(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&pn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(A,mn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!A.test(a)){let i=a.replace(dn,hn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=M}return new r(t,l)}function hn(n){return"-"+n.toLowerCase()}function mn(n){return n.charAt(1).toUpperCase()}const fn=B([j,I,F,N,sn],"html");B([j,I,F,N,cn],"svg");const V=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],L="default",q=/^@|^v-on:/,W=/^:|^v-bind:/,K=/^v-model/,yn=["select","textarea","input"],vn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr"].map(n=>[n,`prose-${n}`])),bn=E({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:String,default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var t,r;const{mdc:l}=J().public,o={...l.components.prose&&n.prose!==!1?vn:{},...l.components.map,...G(((r=(t=n.data)==null?void 0:t.mdc)==null?void 0:r.components)||{}),...n.components};return await Rn(n.body,{tags:o}),{tags:o}},render(n){var s,c;const{tags:l,tag:o,body:t,data:r}=n;if(!t)return null;const a={...r,tags:l};let i=o||((s=a.component)==null?void 0:s.name)||a.component||"div";return i=Y(i),R(i,{...(c=a.component)==null?void 0:c.props,...this.$attrs},X(t,R,a,a))}});function kn(n,l,o,t={}){var c;if(n.type==="text")return l(C,n.value);if(n.tag==="script")return l(C,$(n));const r=n.tag,a=typeof((c=n.props)==null?void 0:c.__ignoreMap)>"u"&&o.tags[r]||r;if(n.tag==="binding")return Cn(n,l,o,t);const i=Y(a);typeof i=="object"&&(i.tag=r);const s=xn(n,o);return l(i,s,X(n,l,o,{...t,...s}))}function $(n){var l,o;return n.type==="text"?n.value:(l=n.children)!=null&&l.length?`<${n.tag}>${((o=n.children)==null?void 0:o.map($).join(""))||""}`:`<${n.tag}>`}function Cn(n,l,o,t={}){var c;const r={...t,$route:()=>nn(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((c=n.props)==null?void 0:c.value.trim().split(a).filter(Boolean)).reduce((g,y)=>y in g?typeof g[y]=="function"?g[y]():g[y]:{},r);return l(C,s)}function X(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Ln(c))return s[L].push(c),s;const g=Dn(c);return s[g]=s[g]||[],c.type==="element"&&s[g].push(...c.children||[]),s},{[L]:[]});return Object.entries(a).reduce((s,[c,g])=>(g.length&&(s[c]=()=>{const y=g.map(h=>kn(h,l,o,t));return Mn(y)}),s),{})}function xn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(K.test(a)&&!yn.includes(o))return Sn(a,i,r,l);if(a==="v-bind")return wn(a,i,r,l);if(q.test(a))return Pn(a,i,r,l);if(W.test(a))return On(a,i,r,l);const{attribute:s}=gn(fn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Sn(n,l,o,t){const r=h=>+h,a=h=>h.trim(),i=h=>h,s=n.replace(K,"").split(".").filter(h=>h).reduce((h,Z)=>(h[Z]=!0,h),{}),c="value",g=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[c]=S(l,t),o.on=o.on||{},o.on[g]=h=>t[l]=y(h),o}function wn(n,l,o,t){const r=S(l,t);return o=Object.assign(o,r),o}function Pn(n,l,o,t){return n=n.replace(q,""),o.on=o.on||{},o.on[n]=()=>S(l,t),o}function On(n,l,o,t){return n=n.replace(W,""),o[n]=S(l,t),o}const Y=n=>{if(!V.includes(n)&&!(n!=null&&n.render)){const l=U(Q(n),!1);if(typeof l=="object")return l}return n};function S(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?ln(n):o}function Dn(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||L}function Ln(n){return n.tag==="template"}function Mn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===C&&(t==null?void 0:t.type)===C?t.children=t.children+o.children:l.push(o)}return l}async function Rn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender)return;const a=U(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){var g;const i=r.tag;if(r.type==="text"||i==="binding")return[];const s=typeof((g=r.props)==null?void 0:g.__ignoreMap)>"u"&&a.tags[i]||i,c=[];r.type!=="root"&&!V.includes(s)&&c.push(s);for(const y of r.children||[])c.push(...t(y,a));return c}}const An=E({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=en().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=bn;return on(),tn(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":rn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{An as _}; +import{d as E,l as J,D as G,Q as R,ae as U,af as Q,ag as C,s as nn,ah as ln,ai as en,K as w,b as on,Y as tn,L as rn}from"./entry.363473ce.js";class x{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}x.prototype.property={};x.prototype.normal={};x.prototype.space=null;function B(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&pn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(A,mn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!A.test(a)){let i=a.replace(dn,hn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=M}return new r(t,l)}function hn(n){return"-"+n.toLowerCase()}function mn(n){return n.charAt(1).toUpperCase()}const fn=B([j,I,F,N,sn],"html");B([j,I,F,N,cn],"svg");const V=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],L="default",q=/^@|^v-on:/,W=/^:|^v-bind:/,K=/^v-model/,yn=["select","textarea","input"],vn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr"].map(n=>[n,`prose-${n}`])),bn=E({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},tag:{type:String,default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})}},async setup(n){var t,r;const{mdc:l}=J().public,o={...l.components.prose&&n.prose!==!1?vn:{},...l.components.map,...G(((r=(t=n.data)==null?void 0:t.mdc)==null?void 0:r.components)||{}),...n.components};return await Rn(n.body,{tags:o}),{tags:o}},render(n){var s,c;const{tags:l,tag:o,body:t,data:r}=n;if(!t)return null;const a={...r,tags:l};let i=o||((s=a.component)==null?void 0:s.name)||a.component||"div";return i=Y(i),R(i,{...(c=a.component)==null?void 0:c.props,...this.$attrs},X(t,R,a,a))}});function kn(n,l,o,t={}){var c;if(n.type==="text")return l(C,n.value);if(n.tag==="script")return l(C,$(n));const r=n.tag,a=typeof((c=n.props)==null?void 0:c.__ignoreMap)>"u"&&o.tags[r]||r;if(n.tag==="binding")return Cn(n,l,o,t);const i=Y(a);typeof i=="object"&&(i.tag=r);const s=xn(n,o);return l(i,s,X(n,l,o,{...t,...s}))}function $(n){var l,o;return n.type==="text"?n.value:(l=n.children)!=null&&l.length?`<${n.tag}>${((o=n.children)==null?void 0:o.map($).join(""))||""}`:`<${n.tag}>`}function Cn(n,l,o,t={}){var c;const r={...t,$route:()=>nn(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((c=n.props)==null?void 0:c.value.trim().split(a).filter(Boolean)).reduce((g,y)=>y in g?typeof g[y]=="function"?g[y]():g[y]:{},r);return l(C,s)}function X(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Ln(c))return s[L].push(c),s;const g=Dn(c);return s[g]=s[g]||[],c.type==="element"&&s[g].push(...c.children||[]),s},{[L]:[]});return Object.entries(a).reduce((s,[c,g])=>(g.length&&(s[c]=()=>{const y=g.map(h=>kn(h,l,o,t));return Mn(y)}),s),{})}function xn(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(K.test(a)&&!yn.includes(o))return Sn(a,i,r,l);if(a==="v-bind")return wn(a,i,r,l);if(q.test(a))return Pn(a,i,r,l);if(W.test(a))return On(a,i,r,l);const{attribute:s}=gn(fn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Sn(n,l,o,t){const r=h=>+h,a=h=>h.trim(),i=h=>h,s=n.replace(K,"").split(".").filter(h=>h).reduce((h,Z)=>(h[Z]=!0,h),{}),c="value",g=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[c]=S(l,t),o.on=o.on||{},o.on[g]=h=>t[l]=y(h),o}function wn(n,l,o,t){const r=S(l,t);return o=Object.assign(o,r),o}function Pn(n,l,o,t){return n=n.replace(q,""),o.on=o.on||{},o.on[n]=()=>S(l,t),o}function On(n,l,o,t){return n=n.replace(W,""),o[n]=S(l,t),o}const Y=n=>{if(!V.includes(n)&&!(n!=null&&n.render)){const l=U(Q(n),!1);if(typeof l=="object")return l}return n};function S(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?ln(n):o}function Dn(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||L}function Ln(n){return n.tag==="template"}function Mn(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===C&&(t==null?void 0:t.type)===C?t.children=t.children+o.children:l.push(o)}return l}async function Rn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender)return;const a=U(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){var g;const i=r.tag;if(r.type==="text"||i==="binding")return[];const s=typeof((g=r.props)==null?void 0:g.__ignoreMap)>"u"&&a.tags[i]||i,c=[];r.type!=="root"&&!V.includes(s)&&c.push(s);for(const y of r.children||[])c.push(...t(y,a));return c}}const An=E({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=en().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=bn;return on(),tn(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":rn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{An as _}; diff --git a/_nuxt/ContentSlot.6e2f60c7.js b/_nuxt/ContentSlot.6e2f60c7.js new file mode 100644 index 0000000000..f62070ffc6 --- /dev/null +++ b/_nuxt/ContentSlot.6e2f60c7.js @@ -0,0 +1 @@ +import{_ as n}from"./MDCSlot.6bf01385.js";import{d as o,Q as t}from"./entry.363473ce.js";const s=o({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(e){return t(n,e)}});export{s as default}; diff --git a/_nuxt/ContentSlot.986d1206.js b/_nuxt/ContentSlot.986d1206.js deleted file mode 100644 index a1a1234c87..0000000000 --- a/_nuxt/ContentSlot.986d1206.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n}from"./MDCSlot.eead73a2.js";import{d as o,Q as t}from"./entry.8cfa8efb.js";const s=o({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(e){return t(n,e)}});export{s as default}; diff --git a/_nuxt/CopyButton.f147b136.js b/_nuxt/CopyButton.b27b2843.js similarity index 90% rename from _nuxt/CopyButton.f147b136.js rename to _nuxt/CopyButton.b27b2843.js index 2fd83ae2cd..64d9f8ce0b 100644 --- a/_nuxt/CopyButton.f147b136.js +++ b/_nuxt/CopyButton.b27b2843.js @@ -1 +1 @@ -import{d as l,aE as i,r as u,b as e,c as d,L as m,Y as t,a1 as y}from"./entry.8cfa8efb.js";const b=l({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:s}=i(),o=u("init"),p=r=>{s(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(r,f)=>{const n=y;return e(),d("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:p},[m(o)==="copied"?(e(),t(n,{key:0,name:"fa-check",class:"h-4 w-4"})):(e(),t(n,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{b as default}; +import{d as l,aE as i,r as u,b as e,c as d,L as m,Y as t,a1 as y}from"./entry.363473ce.js";const b=l({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:s}=i(),o=u("init"),p=r=>{s(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(r,f)=>{const n=y;return e(),d("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:p},[m(o)==="copied"?(e(),t(n,{key:0,name:"fa-check",class:"h-4 w-4"})):(e(),t(n,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{b as default}; diff --git a/_nuxt/DocsAside.86314fc7.js b/_nuxt/DocsAside.bdbf484f.js similarity index 89% rename from _nuxt/DocsAside.86314fc7.js rename to _nuxt/DocsAside.bdbf484f.js index e1cafa2db3..4dc24e6388 100644 --- a/_nuxt/DocsAside.86314fc7.js +++ b/_nuxt/DocsAside.bdbf484f.js @@ -1 +1 @@ -import{d as r,au as l,b as o,c as u,L as n,Y as c,w as d,g as i,av as m,a1 as k,H as x,p as f,i as h,e as b,k as v}from"./entry.8cfa8efb.js";const I=e=>(f("data-v-052bc4ea"),e=e(),h(),e),g=I(()=>b("span",{class:"text"},"Go back",-1)),w=r({__name:"DocsAside",setup(e){const{tree:s}=l();return(y,B)=>{var t;const _=m,a=k,p=x;return o(),u("nav",null,[((t=n(s))==null?void 0:t.length)>0?(o(),c(_,{key:0,links:n(s)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[i(a,{name:"heroicons-outline:arrow-left",class:"icon"}),g]),_:1}))])}}});const A=v(w,[["__scopeId","data-v-052bc4ea"]]);export{A as default}; +import{d as r,au as l,b as o,c as u,L as n,Y as c,w as d,g as i,av as m,a1 as k,H as x,p as f,i as h,e as b,k as v}from"./entry.363473ce.js";const I=e=>(f("data-v-052bc4ea"),e=e(),h(),e),g=I(()=>b("span",{class:"text"},"Go back",-1)),w=r({__name:"DocsAside",setup(e){const{tree:s}=l();return(y,B)=>{var t;const _=m,a=k,p=x;return o(),u("nav",null,[((t=n(s))==null?void 0:t.length)>0?(o(),c(_,{key:0,links:n(s)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[i(a,{name:"heroicons-outline:arrow-left",class:"icon"}),g]),_:1}))])}}});const A=v(w,[["__scopeId","data-v-052bc4ea"]]);export{A as default}; diff --git a/_nuxt/DocsPageBottom.2edd582e.js b/_nuxt/DocsPageBottom.b0b9f9d3.js similarity index 87% rename from _nuxt/DocsPageBottom.2edd582e.js rename to _nuxt/DocsPageBottom.b0b9f9d3.js index 680dccc91d..312d9c7940 100644 --- a/_nuxt/DocsPageBottom.2edd582e.js +++ b/_nuxt/DocsPageBottom.b0b9f9d3.js @@ -1 +1 @@ -import{d as b,W as h,au as x,L as t,b as s,c as a,g as n,w as d,f as _,G as k,e as m,t as v,a1 as y,p as D,i as I,k as B}from"./entry.8cfa8efb.js";import S from"./ProseA.1e07e3b7.js";import{_ as w}from"./EditOnLink.vue.5b1c415a.js";const C=e=>(D("data-v-2b2fba6f"),e=e(),I(),e),N={key:0,class:"docs-page-bottom"},V={key:0,class:"edit-link"},E=C(()=>m("span",null," Edit this page on GitHub ",-1)),P={key:1},G=b({__name:"DocsPageBottom",setup(e){const{page:o}=h(),{config:r}=x();return(L,T)=>{var c,p,i;const u=y,f=S,l=w;return t(o)?(s(),a("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(s(),a("div",V,[n(u,{name:"uil:edit"}),n(l,{page:t(o)},{default:d(({url:g})=>[n(f,{to:g},{default:d(()=>[E]),_:2},1032,["to"])]),_:1},8,["page"])])):_("",!0),(i=t(o))!=null&&i.mtime?(s(),a("span",P,[k("Updated on "),m("b",null,v(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}});const H=B(G,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; +import{d as b,W as h,au as x,L as t,b as s,c as a,g as n,w as d,f as _,G as k,e as m,t as v,a1 as y,p as D,i as I,k as B}from"./entry.363473ce.js";import S from"./ProseA.3b23d1db.js";import{_ as w}from"./EditOnLink.vue.2bb154e2.js";const C=e=>(D("data-v-2b2fba6f"),e=e(),I(),e),N={key:0,class:"docs-page-bottom"},V={key:0,class:"edit-link"},E=C(()=>m("span",null," Edit this page on GitHub ",-1)),P={key:1},G=b({__name:"DocsPageBottom",setup(e){const{page:o}=h(),{config:r}=x();return(L,T)=>{var c,p,i;const u=y,f=S,l=w;return t(o)?(s(),a("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(s(),a("div",V,[n(u,{name:"uil:edit"}),n(l,{page:t(o)},{default:d(({url:g})=>[n(f,{to:g},{default:d(()=>[E]),_:2},1032,["to"])]),_:1},8,["page"])])):_("",!0),(i=t(o))!=null&&i.mtime?(s(),a("span",P,[k("Updated on "),m("b",null,v(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}});const H=B(G,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; diff --git a/_nuxt/DocsPageLayout.0dafd259.js b/_nuxt/DocsPageLayout.7eba96e1.js similarity index 85% rename from _nuxt/DocsPageLayout.0dafd259.js rename to _nuxt/DocsPageLayout.7eba96e1.js index 7e38d64cc0..7bb279029b 100644 --- a/_nuxt/DocsPageLayout.0dafd259.js +++ b/_nuxt/DocsPageLayout.7eba96e1.js @@ -1 +1 @@ -import O from"./DocsAside.86314fc7.js";import R from"./ProseCodeInline.b8352ab0.js";import{d as U,W,au as Y,s as q,K as m,r as V,m as J,o as Q,a6 as X,b as i,Y as A,w as h,L as t,c as g,g as r,f as y,e as p,ab as Z,G as x,t as ee,F as oe,n as k,ax as te,a1 as ae,ay as se,p as ne,i as ce,k as le}from"./entry.8cfa8efb.js";import re from"./DocsPageBottom.2edd582e.js";import _e from"./DocsPrevNext.7f7ab9fd.js";import ue from"./DocsToc.fca90c35.js";import"./ProseA.1e07e3b7.js";import"./EditOnLink.vue.5b1c415a.js";import"./DocsTocLinks.70fbf435.js";const ie=d=>(ne("data-v-331382a7"),d=d(),ce(),d),pe={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=ie(()=>p("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:s}=W(),{config:f,tree:T}=Y(),L=q(),F=(e,o=!0)=>{var a;return typeof((a=s.value)==null?void 0:a[e])<"u"?s.value[e]:o},b=m(()=>{var e,o,a;return!s.value||((a=(o=(e=s.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),P=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=s.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),S=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.aside)!==!1&&(((o=T.value)==null?void 0:o.length)>1||((l=(c=(a=T.value)==null?void 0:a[0])==null?void 0:c.children)==null?void 0:l.length))}),H=m(()=>F("bottom",!0)),_=V(!1),n=V(null),v=()=>L.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=n.value)==null?void 0:e.scrollTop)||0}});function C(){n.value&&(n.value.scrollHeight===0&&setTimeout(C,0),n.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):C()}),X(()=>{n.value&&(u.value.scrollTop=n.value.scrollTop)}),(e,o)=>{var D,w,B,N,I,$;const a=O,c=R,l=te,M=re,j=_e,z=ae,E=ue,G=se;return i(),A(G,{fluid:(w=(D=t(f))==null?void 0:D.main)==null?void 0:w.fluid,padded:(N=(B=t(f))==null?void 0:B.main)==null?void 0:N.padded,class:k(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(P),"has-aside":t(S)}])},{default:h(()=>[t(S)?(i(),g("aside",{key:0,ref_key:"asideNav",ref:n,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):y("",!0),p("article",pe,[t(b)?Z(e.$slots,"default",{key:0},void 0,!0):(i(),A(l,{key:1,type:"info"},{default:h(()=>[x(" Start writing in "),r(c,null,{default:h(()=>[x("content/"+ee(t(s)._file),1)]),_:1}),x(" to see this page taking shape. ")]),_:1})),t(b)&&t(s)&&t(H)?(i(),g(oe,{key:2},[r(M),r(j)],64)):y("",!0)]),t(P)?(i(),g("div",de,[p("div",me,[p("button",{onClick:o[0]||(o[0]=K=>_.value=!t(_))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:k(["icon",[t(_)&&"rotate"]])},null,8,["class"])]),p("div",{class:k(["docs-toc-wrapper",[t(_)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>_.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}});const Ce=le(ve,[["__scopeId","data-v-331382a7"]]);export{Ce as default}; +import O from"./DocsAside.bdbf484f.js";import R from"./ProseCodeInline.9c9d33d7.js";import{d as U,W,au as Y,s as q,K as m,r as V,m as J,o as Q,a6 as X,b as i,Y as A,w as h,L as t,c as g,g as r,f as y,e as p,ab as Z,G as x,t as ee,F as oe,n as k,ax as te,a1 as ae,ay as se,p as ne,i as ce,k as le}from"./entry.363473ce.js";import re from"./DocsPageBottom.b0b9f9d3.js";import _e from"./DocsPrevNext.989e1fbe.js";import ue from"./DocsToc.1f359282.js";import"./ProseA.3b23d1db.js";import"./EditOnLink.vue.2bb154e2.js";import"./DocsTocLinks.133b0863.js";const ie=d=>(ne("data-v-331382a7"),d=d(),ce(),d),pe={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=ie(()=>p("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:s}=W(),{config:f,tree:T}=Y(),L=q(),F=(e,o=!0)=>{var a;return typeof((a=s.value)==null?void 0:a[e])<"u"?s.value[e]:o},b=m(()=>{var e,o,a;return!s.value||((a=(o=(e=s.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),P=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=s.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),S=m(()=>{var e,o,a,c,l;return((e=s.value)==null?void 0:e.aside)!==!1&&(((o=T.value)==null?void 0:o.length)>1||((l=(c=(a=T.value)==null?void 0:a[0])==null?void 0:c.children)==null?void 0:l.length))}),H=m(()=>F("bottom",!0)),_=V(!1),n=V(null),v=()=>L.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=n.value)==null?void 0:e.scrollTop)||0}});function C(){n.value&&(n.value.scrollHeight===0&&setTimeout(C,0),n.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):C()}),X(()=>{n.value&&(u.value.scrollTop=n.value.scrollTop)}),(e,o)=>{var D,w,B,N,I,$;const a=O,c=R,l=te,M=re,j=_e,z=ae,E=ue,G=se;return i(),A(G,{fluid:(w=(D=t(f))==null?void 0:D.main)==null?void 0:w.fluid,padded:(N=(B=t(f))==null?void 0:B.main)==null?void 0:N.padded,class:k(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(P),"has-aside":t(S)}])},{default:h(()=>[t(S)?(i(),g("aside",{key:0,ref_key:"asideNav",ref:n,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):y("",!0),p("article",pe,[t(b)?Z(e.$slots,"default",{key:0},void 0,!0):(i(),A(l,{key:1,type:"info"},{default:h(()=>[x(" Start writing in "),r(c,null,{default:h(()=>[x("content/"+ee(t(s)._file),1)]),_:1}),x(" to see this page taking shape. ")]),_:1})),t(b)&&t(s)&&t(H)?(i(),g(oe,{key:2},[r(M),r(j)],64)):y("",!0)]),t(P)?(i(),g("div",de,[p("div",me,[p("button",{onClick:o[0]||(o[0]=K=>_.value=!t(_))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:k(["icon",[t(_)&&"rotate"]])},null,8,["class"])]),p("div",{class:k(["docs-toc-wrapper",[t(_)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>_.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}});const Ce=le(ve,[["__scopeId","data-v-331382a7"]]);export{Ce as default}; diff --git a/_nuxt/DocsPrevNext.7f7ab9fd.js b/_nuxt/DocsPrevNext.989e1fbe.js similarity index 95% rename from _nuxt/DocsPrevNext.7f7ab9fd.js rename to _nuxt/DocsPrevNext.989e1fbe.js index ac10b31019..43daf31d7f 100644 --- a/_nuxt/DocsPrevNext.7f7ab9fd.js +++ b/_nuxt/DocsPrevNext.989e1fbe.js @@ -1 +1 @@ -import{d as y,W as f,L as t,b as n,c as r,Y as h,w as u,g as m,e as p,t as i,f as l,az as k,a1 as g,H as w,aA as N,k as b}from"./entry.8cfa8efb.js";const C={key:0,class:"docs-prev-next"},B={class:"wrapper"},D={key:0,class:"directory"},P={class:"title"},V={key:1},F={class:"wrapper"},H={key:0,class:"directory"},I={class:"title"},L=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=N(),_=d=>{var a;const c=x(d._path,v.value||[]);if(c&&c[0])return((a=c[0])==null?void 0:a._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,c)=>{const a=g,o=w;return t(e)||t(s)?(n(),r("div",C,[t(e)&&t(e)._path?(n(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(a,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),p("div",B,[_(t(e)._path)?(n(),r("span",D,i(_(t(e)._path)),1)):l("",!0),p("span",P,i(t(e).title),1)])]),_:1},8,["to"])):(n(),r("span",V)),t(s)&&t(s)._path?(n(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[p("div",F,[_(t(s)._path)?(n(),r("span",H,i(_(t(s)._path)),1)):l("",!0),p("span",I,i(t(s).title),1)]),m(a,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):l("",!0)])):l("",!0)}}});const E=b(L,[["__scopeId","data-v-9256bb11"]]);export{E as default}; +import{d as y,W as f,L as t,b as n,c as r,Y as h,w as u,g as m,e as p,t as i,f as l,az as k,a1 as g,H as w,aA as N,k as b}from"./entry.363473ce.js";const C={key:0,class:"docs-prev-next"},B={class:"wrapper"},D={key:0,class:"directory"},P={class:"title"},V={key:1},F={class:"wrapper"},H={key:0,class:"directory"},I={class:"title"},L=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=N(),_=d=>{var a;const c=x(d._path,v.value||[]);if(c&&c[0])return((a=c[0])==null?void 0:a._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,c)=>{const a=g,o=w;return t(e)||t(s)?(n(),r("div",C,[t(e)&&t(e)._path?(n(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(a,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),p("div",B,[_(t(e)._path)?(n(),r("span",D,i(_(t(e)._path)),1)):l("",!0),p("span",P,i(t(e).title),1)])]),_:1},8,["to"])):(n(),r("span",V)),t(s)&&t(s)._path?(n(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[p("div",F,[_(t(s)._path)?(n(),r("span",H,i(_(t(s)._path)),1)):l("",!0),p("span",I,i(t(s).title),1)]),m(a,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):l("",!0)])):l("",!0)}}});const E=b(L,[["__scopeId","data-v-9256bb11"]]);export{E as default}; diff --git a/_nuxt/DocsToc.fca90c35.js b/_nuxt/DocsToc.1f359282.js similarity index 80% rename from _nuxt/DocsToc.fca90c35.js rename to _nuxt/DocsToc.1f359282.js index 90797880db..d3601f155d 100644 --- a/_nuxt/DocsToc.fca90c35.js +++ b/_nuxt/DocsToc.1f359282.js @@ -1 +1 @@ -import m from"./DocsTocLinks.70fbf435.js";import{d as l,W as u,b as c,c as _,L as a,F as f,g as v,f as k,p as x,i as g,e as p,k as h}from"./entry.8cfa8efb.js";const C=e=>(x("data-v-6964a4e8"),e=e(),g(),e),I={class:"docs-toc"},T=C(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),y=l({__name:"DocsToc",emits:["move"],setup(e,{emit:d}){const{toc:o}=u(),r=d;return(B,t)=>{var s,n;const i=m;return c(),_("div",I,[(n=(s=a(o))==null?void 0:s.links)!=null&&n.length?(c(),_(f,{key:0},[T,v(i,{links:a(o).links,onMove:t[0]||(t[0]=D=>r("move"))},null,8,["links"])],64)):k("",!0)])}}});const V=h(y,[["__scopeId","data-v-6964a4e8"]]);export{V as default}; +import m from"./DocsTocLinks.133b0863.js";import{d as l,W as u,b as c,c as _,L as a,F as f,g as v,f as k,p as x,i as g,e as p,k as h}from"./entry.363473ce.js";const C=e=>(x("data-v-6964a4e8"),e=e(),g(),e),I={class:"docs-toc"},T=C(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),y=l({__name:"DocsToc",emits:["move"],setup(e,{emit:d}){const{toc:o}=u(),r=d;return(B,t)=>{var s,n;const i=m;return c(),_("div",I,[(n=(s=a(o))==null?void 0:s.links)!=null&&n.length?(c(),_(f,{key:0},[T,v(i,{links:a(o).links,onMove:t[0]||(t[0]=D=>r("move"))},null,8,["links"])],64)):k("",!0)])}}});const V=h(y,[["__scopeId","data-v-6964a4e8"]]);export{V as default}; diff --git a/_nuxt/DocsTocLinks.70fbf435.js b/_nuxt/DocsTocLinks.133b0863.js similarity index 96% rename from _nuxt/DocsTocLinks.70fbf435.js rename to _nuxt/DocsTocLinks.133b0863.js index e575015ee3..66a4555ddf 100644 --- a/_nuxt/DocsTocLinks.70fbf435.js +++ b/_nuxt/DocsTocLinks.133b0863.js @@ -1 +1 @@ -import{r as i,a5 as f,aB as g,a6 as y,d as k,u as b,b as u,c as m,F as x,aC as B,n as p,e as C,t as H,L as S,aD as A,Y as D,f as L,k as T}from"./entry.8cfa8efb.js";const q=()=>{const a=i(),s=i([]),c=i([]),d=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),l=e=>e.forEach(t=>{a.value.observe(t)});return f(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(d)),y(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:l}},M={class:"docs-toc-links"},$=["href","onClick"],w=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,d=b(),{activeHeadings:l,updateHeadings:e}=q();setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function t(n){d.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const h=E;return u(),m("ul",M,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:p([S(l).includes(o.id)&&"active"]),onClick:A(_=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),D(h,{key:0,links:o.children,onMove:v[0]||(v[0]=_=>r(_))},null,8,["links"])):L("",!0)],2))),128))])}}});const E=T(w,[["__scopeId","data-v-026480db"]]);export{E as default}; +import{r as i,a5 as f,aB as g,a6 as y,d as k,u as b,b as u,c as m,F as x,aC as B,n as p,e as C,t as H,L as S,aD as A,Y as D,f as L,k as T}from"./entry.363473ce.js";const q=()=>{const a=i(),s=i([]),c=i([]),d=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),l=e=>e.forEach(t=>{a.value.observe(t)});return f(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(d)),y(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:l}},M={class:"docs-toc-links"},$=["href","onClick"],w=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,d=b(),{activeHeadings:l,updateHeadings:e}=q();setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function t(n){d.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const h=E;return u(),m("ul",M,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:p([S(l).includes(o.id)&&"active"]),onClick:A(_=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),D(h,{key:0,links:o.children,onMove:v[0]||(v[0]=_=>r(_))},null,8,["links"])):L("",!0)],2))),128))])}}});const E=T(w,[["__scopeId","data-v-026480db"]]);export{E as default}; diff --git a/_nuxt/DocumentDrivenEmpty.a7380757.js b/_nuxt/DocumentDrivenEmpty.379fad62.js similarity index 77% rename from _nuxt/DocumentDrivenEmpty.a7380757.js rename to _nuxt/DocumentDrivenEmpty.379fad62.js index 412a11dc86..1aff8bbf3d 100644 --- a/_nuxt/DocumentDrivenEmpty.a7380757.js +++ b/_nuxt/DocumentDrivenEmpty.379fad62.js @@ -1 +1 @@ -import{d as n,Q as e}from"./entry.8cfa8efb.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; +import{d as n,Q as e}from"./entry.363473ce.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; diff --git a/_nuxt/DocumentDrivenNotFound.9e790dc8.js b/_nuxt/DocumentDrivenNotFound.d21cbdd8.js similarity index 81% rename from _nuxt/DocumentDrivenNotFound.9e790dc8.js rename to _nuxt/DocumentDrivenNotFound.d21cbdd8.js index cd74e97221..e2ab0da9d1 100644 --- a/_nuxt/DocumentDrivenNotFound.9e790dc8.js +++ b/_nuxt/DocumentDrivenNotFound.d21cbdd8.js @@ -1 +1 @@ -import s from"./ButtonLink.be07cd74.js";import{k as _,b as c,c as a,e,g as d,w as i,G as r,p,i as u}from"./entry.8cfa8efb.js";const l={},t=o=>(p("data-v-581efae0"),o=o(),u(),o),f={class:"document-driven-not-found not-prose"},m=t(()=>e("p",null," 404 ",-1)),h={class:"content"},v=t(()=>e("div",{class:"text-section"},[e("h1",null," Not Found "),e("p",null," This is not the page you're looking for. ")],-1)),x={class:"button-section"};function k(o,g){const n=s;return c(),a("div",f,[e("main",null,[m,e("div",h,[v,e("div",x,[d(n,{href:"/",size:"large",variant:"primary"},{default:i(()=>[r(" Go back home ")]),_:1})])])])])}const B=_(l,[["render",k],["__scopeId","data-v-581efae0"]]);export{B as default}; +import s from"./ButtonLink.8382d34b.js";import{k as _,b as c,c as a,e,g as d,w as i,G as r,p,i as u}from"./entry.363473ce.js";const l={},t=o=>(p("data-v-581efae0"),o=o(),u(),o),f={class:"document-driven-not-found not-prose"},m=t(()=>e("p",null," 404 ",-1)),h={class:"content"},v=t(()=>e("div",{class:"text-section"},[e("h1",null," Not Found "),e("p",null," This is not the page you're looking for. ")],-1)),x={class:"button-section"};function k(o,g){const n=s;return c(),a("div",f,[e("main",null,[m,e("div",h,[v,e("div",x,[d(n,{href:"/",size:"large",variant:"primary"},{default:i(()=>[r(" Go back home ")]),_:1})])])])])}const B=_(l,[["render",k],["__scopeId","data-v-581efae0"]]);export{B as default}; diff --git a/_nuxt/EditOnLink.0677ef74.js b/_nuxt/EditOnLink.0677ef74.js new file mode 100644 index 0000000000..a3bcfcb755 --- /dev/null +++ b/_nuxt/EditOnLink.0677ef74.js @@ -0,0 +1 @@ +import{_ as m}from"./EditOnLink.vue.2bb154e2.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/EditOnLink.fb7500ff.js b/_nuxt/EditOnLink.fb7500ff.js deleted file mode 100644 index c5cd3d462a..0000000000 --- a/_nuxt/EditOnLink.fb7500ff.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./EditOnLink.vue.5b1c415a.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/EditOnLink.vue.5b1c415a.js b/_nuxt/EditOnLink.vue.2bb154e2.js similarity index 94% rename from _nuxt/EditOnLink.vue.5b1c415a.js rename to _nuxt/EditOnLink.vue.2bb154e2.js index 46b31a29f5..dede1fbe24 100644 --- a/_nuxt/EditOnLink.vue.5b1c415a.js +++ b/_nuxt/EditOnLink.vue.2bb154e2.js @@ -1 +1 @@ -import{d as v,x as u,K as d,aw as w,ad as p}from"./entry.8cfa8efb.js";const S=v({props:{baseUrl:{type:String,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.baseUrl)||"https://github.com"},required:!1},owner:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.owner},required:!1},repo:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.repo},required:!1},branch:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.branch},required:!1},dir:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir)||"content"}},edit:{type:Boolean,required:!1,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.edit}}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=d(()=>{var h,b;let{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f}=e,s="";if((b=(h=u())==null?void 0:h.public)!=null&&b.content){let i;const{sources:g}=u().public.content;for(const y in g||[])if(e.page._id.startsWith(y)){i=g[y];break}(i==null?void 0:i.driver)==="github"&&(a=i.repo||e.repo||"",c=i.owner||e.owner||"",l=i.branch||e.branch||"main",f=i.dir||e.contentDir||"",s=i.prefix||"")}return{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f,prefix:s}}),r=d(()=>w(`${t.value.baseUrl}/${t.value.owner}/${t.value.repo}`)),o=d(()=>{var a;const n=[];return(a=e==null?void 0:e.page)!=null&&a._path?(t.value.contentDir&&n.push(t.value.contentDir),n.push(e.page._file.substring(t.value.prefix.length)),n):(e.dir&&n.push(e.dir),e.source&&n.push(e.source),n)});return{url:d(()=>{var a;const n=[r.value];return e.edit?n.push("edit"):n.push("tree"),n.push(((a=t==null?void 0:t.value)==null?void 0:a.branch)||"",...o.value),n.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,r=p();return(o=r==null?void 0:r.default)==null?void 0:o.call(r,{url:t})}});export{S as _}; +import{d as v,x as u,K as d,aw as w,ad as p}from"./entry.363473ce.js";const S=v({props:{baseUrl:{type:String,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.baseUrl)||"https://github.com"},required:!1},owner:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.owner},required:!1},repo:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.repo},required:!1},branch:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.branch},required:!1},dir:{type:String,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:()=>{var e,t,r;return((r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir)||"content"}},edit:{type:Boolean,required:!1,default:()=>{var e,t,r;return(r=(t=(e=u())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.edit}}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=d(()=>{var h,b;let{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f}=e,s="";if((b=(h=u())==null?void 0:h.public)!=null&&b.content){let i;const{sources:g}=u().public.content;for(const y in g||[])if(e.page._id.startsWith(y)){i=g[y];break}(i==null?void 0:i.driver)==="github"&&(a=i.repo||e.repo||"",c=i.owner||e.owner||"",l=i.branch||e.branch||"main",f=i.dir||e.contentDir||"",s=i.prefix||"")}return{baseUrl:n,repo:a,owner:c,branch:l,contentDir:f,prefix:s}}),r=d(()=>w(`${t.value.baseUrl}/${t.value.owner}/${t.value.repo}`)),o=d(()=>{var a;const n=[];return(a=e==null?void 0:e.page)!=null&&a._path?(t.value.contentDir&&n.push(t.value.contentDir),n.push(e.page._file.substring(t.value.prefix.length)),n):(e.dir&&n.push(e.dir),e.source&&n.push(e.source),n)});return{url:d(()=>{var a;const n=[r.value];return e.edit?n.push("edit"):n.push("tree"),n.push(((a=t==null?void 0:t.value)==null?void 0:a.branch)||"",...o.value),n.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,r=p();return(o=r==null?void 0:r.default)==null?void 0:o.call(r,{url:t})}});export{S as _}; diff --git a/_nuxt/Ellipsis.9363fc3d.js b/_nuxt/Ellipsis.5a6c5682.js similarity index 95% rename from _nuxt/Ellipsis.9363fc3d.js rename to _nuxt/Ellipsis.5a6c5682.js index 75fe7e8ee9..b73c54846b 100644 --- a/_nuxt/Ellipsis.9363fc3d.js +++ b/_nuxt/Ellipsis.5a6c5682.js @@ -1 +1 @@ -import{d as m,K as n,ac as y,b as S,c as p,n as I,L as x,p as b,i as v,e as E,k as $}from"./entry.8cfa8efb.js";const k=a=>(b("data-v-2490f91e"),a=a(),v(),a),w=k(()=>E("div",{class:"ellipsis-item"},null,-1)),z=[w],B=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(a){const c=n(()=>((t=e)=>t.top)()),l=n(()=>((t=e)=>t.left)()),o=n(()=>((t=e)=>t.right)()),d=n(()=>((t=e)=>t.zIndex)()),r=n(()=>((t=e)=>t.width)()),u=n(()=>((t=e)=>t.height)()),f=n(()=>((t=e)=>`blur(${t.blur})`)()),g=n(()=>((t=e)=>{var s,i,_;return`linear-gradient(97.62deg, ${(s=t==null?void 0:t.colors)==null?void 0:s[0]} 2.27%, ${(i=t==null?void 0:t.colors)==null?void 0:i[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),e=a,{$pinceau:h}=y(e,void 0,{_cCN_top:c,_eih_insetInlineStart:l,_IfB_insetInlineEnd:o,_SsE_zIndex:d,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,s)=>(S(),p("div",{class:I(["ellipsis",[x(h)]])},z,2))}});const j=$(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; +import{d as m,K as n,ac as y,b as S,c as p,n as I,L as x,p as b,i as v,e as E,k as $}from"./entry.363473ce.js";const k=a=>(b("data-v-2490f91e"),a=a(),v(),a),w=k(()=>E("div",{class:"ellipsis-item"},null,-1)),z=[w],B=m({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(a){const c=n(()=>((t=e)=>t.top)()),l=n(()=>((t=e)=>t.left)()),o=n(()=>((t=e)=>t.right)()),d=n(()=>((t=e)=>t.zIndex)()),r=n(()=>((t=e)=>t.width)()),u=n(()=>((t=e)=>t.height)()),f=n(()=>((t=e)=>`blur(${t.blur})`)()),g=n(()=>((t=e)=>{var s,i,_;return`linear-gradient(97.62deg, ${(s=t==null?void 0:t.colors)==null?void 0:s[0]} 2.27%, ${(i=t==null?void 0:t.colors)==null?void 0:i[1]} 50.88%, ${(_=t==null?void 0:t.colors)==null?void 0:_[2]} 98.48%)`})()),e=a,{$pinceau:h}=y(e,void 0,{_cCN_top:c,_eih_insetInlineStart:l,_IfB_insetInlineEnd:o,_SsE_zIndex:d,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,s)=>(S(),p("div",{class:I(["ellipsis",[x(h)]])},z,2))}});const j=$(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; diff --git a/_nuxt/IconCSS.f3b25988.js b/_nuxt/IconCSS.be4af4a0.js similarity index 92% rename from _nuxt/IconCSS.f3b25988.js rename to _nuxt/IconCSS.be4af4a0.js index abc47c67f9..d87dd7620e 100644 --- a/_nuxt/IconCSS.f3b25988.js +++ b/_nuxt/IconCSS.be4af4a0.js @@ -1 +1 @@ -import{d as p,aT as m,x,K as o,b as S,c as f,aS as z,L as c,k as I}from"./entry.8cfa8efb.js";const y=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(_){var r;m(n=>({"589837de":c(d)}));const e=x();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const s=_,l=o(()=>{var n;return(((n=e==null?void 0:e.nuxtIcon)==null?void 0:n.aliases)||{})[s.name]||s.name}),d=o(()=>`url('https://api.iconify.design/${l.value.replace(":","/")}.svg')`),a=o(()=>{var t,i,u;if(!s.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const n=s.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(n))===n?`${n}px`:n});return(n,t)=>(S(),f("span",{style:z({width:c(a),height:c(a)})},null,4))}});const g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; +import{d as p,aT as m,x,K as o,b as S,c as f,aS as z,L as c,k as I}from"./entry.363473ce.js";const y=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(_){var r;m(n=>({"589837de":c(d)}));const e=x();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const s=_,l=o(()=>{var n;return(((n=e==null?void 0:e.nuxtIcon)==null?void 0:n.aliases)||{})[s.name]||s.name}),d=o(()=>`url('https://api.iconify.design/${l.value.replace(":","/")}.svg')`),a=o(()=>{var t,i,u;if(!s.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const n=s.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(n))===n?`${n}px`:n});return(n,t)=>(S(),f("span",{style:z({width:c(a),height:c(a)})},null,4))}});const g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; diff --git a/_nuxt/IconCodeSandBox.c9323fb9.js b/_nuxt/IconCodeSandBox.3e7cdd67.js similarity index 85% rename from _nuxt/IconCodeSandBox.c9323fb9.js rename to _nuxt/IconCodeSandBox.3e7cdd67.js index 04dbe35e09..8b28066f2a 100644 --- a/_nuxt/IconCodeSandBox.c9323fb9.js +++ b/_nuxt/IconCodeSandBox.3e7cdd67.js @@ -1 +1 @@ -import{k as e,b as o,c as n,e as t}from"./entry.8cfa8efb.js";const c={},s={viewBox:"0 0 105 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M104.297.31104.87354.3111V103.735H104.297V.31104ZM93.7196 93.1572V10.8885H11.4509v82.2687h82.2687Z",fill:"currentColor"},null,-1),l=[r];function d(_,a){return o(),n("svg",s,l)}const f=e(c,[["render",d]]);export{f as default}; +import{k as e,b as o,c as n,e as t}from"./entry.363473ce.js";const c={},s={viewBox:"0 0 105 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M104.297.31104.87354.3111V103.735H104.297V.31104ZM93.7196 93.1572V10.8885H11.4509v82.2687h82.2687Z",fill:"currentColor"},null,-1),l=[r];function d(_,a){return o(),n("svg",s,l)}const f=e(c,[["render",d]]);export{f as default}; diff --git a/_nuxt/IconDocus.65790934.js b/_nuxt/IconDocus.26ecb9c2.js similarity index 91% rename from _nuxt/IconDocus.65790934.js rename to _nuxt/IconDocus.26ecb9c2.js index 9a1b80864f..a13c3433e5 100644 --- a/_nuxt/IconDocus.65790934.js +++ b/_nuxt/IconDocus.26ecb9c2.js @@ -1 +1 @@ -import{k as e,b as o,c,e as s}from"./entry.8cfa8efb.js";const t={},n={viewBox:"0 0 57 57",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M28.5445 0C12.8044 0 0 12.7599 0 28.5v25.4549c0 1.5835 1.28368 2.8672 2.86718 2.8672H28.5889C44.2799 56.8221 57 44.102 57 28.4111 57 12.7201 44.2355 0 28.5445 0Zm15.4963 34.452c3.3649 0 6.0927-2.7278 6.0927-6.0928 0-3.3649-2.7278-6.0927-6.0927-6.0927-3.365 0-6.0928 2.7278-6.0928 6.0927 0 3.365 2.7278 6.0928 6.0928 6.0928Zm-18.0833.0003c3.3649 0 6.0927-2.7278 6.0927-6.0927s-2.7278-6.0928-6.0927-6.0928-6.0928 2.7279-6.0928 6.0928c0 3.3649 2.7279 6.0927 6.0928 6.0927Z",fill:"currentColor"},null,-1),l=[r];function _(a,d){return o(),c("svg",n,l)}const f=e(t,[["render",_]]);export{f as default}; +import{k as e,b as o,c,e as s}from"./entry.363473ce.js";const t={},n={viewBox:"0 0 57 57",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M28.5445 0C12.8044 0 0 12.7599 0 28.5v25.4549c0 1.5835 1.28368 2.8672 2.86718 2.8672H28.5889C44.2799 56.8221 57 44.102 57 28.4111 57 12.7201 44.2355 0 28.5445 0Zm15.4963 34.452c3.3649 0 6.0927-2.7278 6.0927-6.0928 0-3.3649-2.7278-6.0927-6.0927-6.0927-3.365 0-6.0928 2.7278-6.0928 6.0927 0 3.365 2.7278 6.0928 6.0928 6.0928Zm-18.0833.0003c3.3649 0 6.0927-2.7278 6.0927-6.0927s-2.7278-6.0928-6.0927-6.0928-6.0928 2.7279-6.0928 6.0928c0 3.3649 2.7279 6.0927 6.0928 6.0927Z",fill:"currentColor"},null,-1),l=[r];function _(a,d){return o(),c("svg",n,l)}const f=e(t,[["render",_]]);export{f as default}; diff --git a/_nuxt/IconNuxt.563559a0.js b/_nuxt/IconNuxt.b42a97e3.js similarity index 94% rename from _nuxt/IconNuxt.563559a0.js rename to _nuxt/IconNuxt.b42a97e3.js index a830a9a513..9ad2c1ccfb 100644 --- a/_nuxt/IconNuxt.563559a0.js +++ b/_nuxt/IconNuxt.b42a97e3.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.8cfa8efb.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; +import{k as c,b as e,c as t,e as o}from"./entry.363473ce.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; diff --git a/_nuxt/IconNuxtContent.563559a0.js b/_nuxt/IconNuxtContent.b42a97e3.js similarity index 94% rename from _nuxt/IconNuxtContent.563559a0.js rename to _nuxt/IconNuxtContent.b42a97e3.js index a830a9a513..9ad2c1ccfb 100644 --- a/_nuxt/IconNuxtContent.563559a0.js +++ b/_nuxt/IconNuxtContent.b42a97e3.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.8cfa8efb.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; +import{k as c,b as e,c as t,e as o}from"./entry.363473ce.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function l(a,h){return e(),t("svg",n,_)}const i=c(s,[["render",l]]);export{i as default}; diff --git a/_nuxt/IconNuxtLabs.bd12f84c.js b/_nuxt/IconNuxtLabs.96bf357b.js similarity index 94% rename from _nuxt/IconNuxtLabs.bd12f84c.js rename to _nuxt/IconNuxtLabs.96bf357b.js index 6949fd4791..d13bb154a0 100644 --- a/_nuxt/IconNuxtLabs.bd12f84c.js +++ b/_nuxt/IconNuxtLabs.96bf357b.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.8cfa8efb.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function a(l,h){return e(),t("svg",n,_)}const i=c(s,[["render",a]]);export{i as default}; +import{k as c,b as e,c as t,e as o}from"./entry.363473ce.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=o("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function a(l,h){return e(),t("svg",n,_)}const i=c(s,[["render",a]]);export{i as default}; diff --git a/_nuxt/IconNuxtStudio.89a024e5.js b/_nuxt/IconNuxtStudio.90196f3a.js similarity index 89% rename from _nuxt/IconNuxtStudio.89a024e5.js rename to _nuxt/IconNuxtStudio.90196f3a.js index 614d59bda0..355e8c9437 100644 --- a/_nuxt/IconNuxtStudio.89a024e5.js +++ b/_nuxt/IconNuxtStudio.90196f3a.js @@ -1 +1 @@ -import{k as c,b as t,c as o,p as s,i as _,e as n}from"./entry.8cfa8efb.js";const a={},d=e=>(s("data-v-7086cbe4"),e=e(),_(),e),r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=d(()=>n("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),l=[p];function i(e,u){return t(),o("svg",r,l)}const f=c(a,[["render",i],["__scopeId","data-v-7086cbe4"]]);export{f as default}; +import{k as c,b as t,c as o,p as s,i as _,e as n}from"./entry.363473ce.js";const a={},d=e=>(s("data-v-7086cbe4"),e=e(),_(),e),r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=d(()=>n("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),l=[p];function i(e,u){return t(),o("svg",r,l)}const f=c(a,[["render",i],["__scopeId","data-v-7086cbe4"]]);export{f as default}; diff --git a/_nuxt/IconStackBlitz.c8986475.js b/_nuxt/IconStackBlitz.9bead4b1.js similarity index 82% rename from _nuxt/IconStackBlitz.c8986475.js rename to _nuxt/IconStackBlitz.9bead4b1.js index 7199cc24b0..96ff88d71f 100644 --- a/_nuxt/IconStackBlitz.c8986475.js +++ b/_nuxt/IconStackBlitz.9bead4b1.js @@ -1 +1 @@ -import{k as e,b as t,c as o,e as c}from"./entry.8cfa8efb.js";const s={},n={viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=c("path",{d:"M11.46 14.773H4L17.638 0l-3.671 10.227h7.46L7.788 25l3.671-10.227h.001Z",fill:"currentColor"},null,-1),l=[r];function _(a,i){return t(),o("svg",n,l)}const f=e(s,[["render",_]]);export{f as default}; +import{k as e,b as t,c as o,e as c}from"./entry.363473ce.js";const s={},n={viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=c("path",{d:"M11.46 14.773H4L17.638 0l-3.671 10.227h7.46L7.788 25l3.671-10.227h.001Z",fill:"currentColor"},null,-1),l=[r];function _(a,i){return t(),o("svg",n,l)}const f=e(s,[["render",_]]);export{f as default}; diff --git a/_nuxt/IconVueTelescope.d0f24d0b.js b/_nuxt/IconVueTelescope.d47d11f1.js similarity index 91% rename from _nuxt/IconVueTelescope.d0f24d0b.js rename to _nuxt/IconVueTelescope.d47d11f1.js index ae5654ff63..1dce7edb7f 100644 --- a/_nuxt/IconVueTelescope.d0f24d0b.js +++ b/_nuxt/IconVueTelescope.d47d11f1.js @@ -1 +1 @@ -import{k as e,b as t,c as l,e as o}from"./entry.8cfa8efb.js";const n={},s={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=o("path",{d:"M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z",fill:"currentColor"},null,-1),r=o("path",{d:"M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z",fill:"currentColor"},null,-1),_=o("path",{d:"M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z",fill:"currentColor"},null,-1),a=o("path",{d:"M65 40L44 76L23 40H65Z",fill:"currentColor"},null,-1),i=[c,r,_,a];function d(h,u){return t(),l("svg",s,i)}const p=e(n,[["render",d]]);export{p as default}; +import{k as e,b as t,c as l,e as o}from"./entry.363473ce.js";const n={},s={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=o("path",{d:"M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z",fill:"currentColor"},null,-1),r=o("path",{d:"M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z",fill:"currentColor"},null,-1),_=o("path",{d:"M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z",fill:"currentColor"},null,-1),a=o("path",{d:"M65 40L44 76L23 40H65Z",fill:"currentColor"},null,-1),i=[c,r,_,a];function d(h,u){return t(),l("svg",s,i)}const p=e(n,[["render",d]]);export{p as default}; diff --git a/_nuxt/IndexDemo.a6de7ca2.js b/_nuxt/IndexDemo.b5eb16e1.js similarity index 75% rename from _nuxt/IndexDemo.a6de7ca2.js rename to _nuxt/IndexDemo.b5eb16e1.js index 23e7c57d7b..7e98ee0ecc 100644 --- a/_nuxt/IndexDemo.a6de7ca2.js +++ b/_nuxt/IndexDemo.b5eb16e1.js @@ -1 +1 @@ -import a from"./Card.60fb4ab4.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,$ as l}from"./entry.8cfa8efb.js";const i={},f={class:"flex gap-4 mb-8"},m={class:"w-2/3"},h=s("code",null,"",-1),p={class:"w-1/3"};function x(t,u){const c=a;return r(),_("div",f,[s("div",m,[d(c,{class:"h-full"},{title:o(()=>[e(" Easy to use ")]),description:o(()=>[e(" Use "),h,e(" to render reCAPTCHA checkbox ")]),_:1})]),s("div",p,[l(t.$slots,"default")])])}const b=n(i,[["render",x]]);export{b as default}; +import a from"./Card.6f9ae951.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,$ as l}from"./entry.363473ce.js";const i={},f={class:"flex gap-4 mb-8"},m={class:"w-2/3"},h=s("code",null,"",-1),p={class:"w-1/3"};function x(t,u){const c=a;return r(),_("div",f,[s("div",m,[d(c,{class:"h-full"},{title:o(()=>[e(" Easy to use ")]),description:o(()=>[e(" Use "),h,e(" to render reCAPTCHA checkbox ")]),_:1})]),s("div",p,[l(t.$slots,"default")])])}const b=n(i,[["render",x]]);export{b as default}; diff --git a/_nuxt/List.c0882b26.js b/_nuxt/List.ac97ce53.js similarity index 85% rename from _nuxt/List.c0882b26.js rename to _nuxt/List.ac97ce53.js index 14e9ca7a08..660f659024 100644 --- a/_nuxt/List.c0882b26.js +++ b/_nuxt/List.ac97ce53.js @@ -1 +1 @@ -import{aI as r,aJ as l,d as u,ad as p,K as _,Q as n,a1 as m,k as d}from"./entry.8cfa8efb.js";import{_ as f}from"./MDCSlot.eead73a2.js";const y=()=>({unwrap:r,flatUnwrap:l}),h={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=u({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:e=>["primary","info","success","warning","danger"].includes(e)}},setup(e){const s=p(),{flatUnwrap:t,unwrap:o}=y(),c=_(()=>e.icon||h[e.type]);return()=>{const i=t((s.default&&s.default())??[],["ul"]).map(a=>o(a,["li"]));return n("ul",i.map(a=>n("li",[n("span",{class:`list-icon ${e.type}`},n(m,{name:c.value,class:"icon"})),n("span",n(f,{use:()=>a}))])))}}});const v=d(g,[["__scopeId","data-v-40141052"]]);export{v as default}; +import{aI as r,aJ as l,d as u,ad as p,K as _,Q as n,a1 as m,k as d}from"./entry.363473ce.js";import{_ as f}from"./MDCSlot.6bf01385.js";const y=()=>({unwrap:r,flatUnwrap:l}),h={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=u({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:e=>["primary","info","success","warning","danger"].includes(e)}},setup(e){const s=p(),{flatUnwrap:t,unwrap:o}=y(),c=_(()=>e.icon||h[e.type]);return()=>{const i=t((s.default&&s.default())??[],["ul"]).map(a=>o(a,["li"]));return n("ul",i.map(a=>n("li",[n("span",{class:`list-icon ${e.type}`},n(m,{name:c.value,class:"icon"})),n("span",n(f,{use:()=>a}))])))}}});const v=d(g,[["__scopeId","data-v-40141052"]]);export{v as default}; diff --git a/_nuxt/MDCSlot.eead73a2.js b/_nuxt/MDCSlot.6bf01385.js similarity index 91% rename from _nuxt/MDCSlot.eead73a2.js rename to _nuxt/MDCSlot.6bf01385.js index 8f48d62c46..de8fc6ed47 100644 --- a/_nuxt/MDCSlot.eead73a2.js +++ b/_nuxt/MDCSlot.6bf01385.js @@ -1 +1 @@ -import{d as i,ad as u,K as f,Q as l,aJ as c,a7 as d}from"./entry.8cfa8efb.js";const m=i({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=u(),a=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:a,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:a,parent:e}){var r;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((r=e==null?void 0:e.parent)==null?void 0:r.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?c(n(),a):[n()]:o?o():l("div")}catch{return l("div")}}});export{m as _}; +import{d as i,ad as u,K as f,Q as l,aJ as c,a7 as d}from"./entry.363473ce.js";const m=i({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=u(),a=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:a,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:a,parent:e}){var r;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((r=e==null?void 0:e.parent)==null?void 0:r.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?c(n(),a):[n()]:o?o():l("div")}catch{return l("div")}}});export{m as _}; diff --git a/_nuxt/Markdown.1bb9ca3e.js b/_nuxt/Markdown.1bb9ca3e.js deleted file mode 100644 index 371559560e..0000000000 --- a/_nuxt/Markdown.1bb9ca3e.js +++ /dev/null @@ -1 +0,0 @@ -import s from"./ContentSlot.986d1206.js";import{d as o,ad as u,K as f,a7 as m}from"./entry.8cfa8efb.js";import"./MDCSlot.eead73a2.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=u(),r=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{d as default}; diff --git a/_nuxt/Markdown.26ba9b24.js b/_nuxt/Markdown.26ba9b24.js new file mode 100644 index 0000000000..cb1efebbbb --- /dev/null +++ b/_nuxt/Markdown.26ba9b24.js @@ -0,0 +1 @@ +import s from"./ContentSlot.6e2f60c7.js";import{d as o,ad as u,K as f,a7 as m}from"./entry.363473ce.js";import"./MDCSlot.6bf01385.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=u(),r=f(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{d as default}; diff --git a/_nuxt/Mermaid.60c6be54.js b/_nuxt/Mermaid.0e308ec0.js similarity index 74% rename from _nuxt/Mermaid.60c6be54.js rename to _nuxt/Mermaid.0e308ec0.js index 6b7c5c1056..f447ba4b8f 100644 --- a/_nuxt/Mermaid.60c6be54.js +++ b/_nuxt/Mermaid.0e308ec0.js @@ -1,2 +1,2 @@ -import{d as t,r as o,o as n,B as m,L as c,b as i,c as d,G as a,$ as l,f as p}from"./entry.8cfa8efb.js";import{m as r}from"./mermaid.core.6d8597df.js";import"./_commonjsHelpers.725317a4.js";const u={key:0,class:"mermaid"},x=t({__name:"Mermaid",setup(f){const e=o(!1);return n(async()=>{e.value=!0,await m(),r.initialize({startOnLoad:!1}),r.run({querySelector:".mermaid",suppressErrors:!1})}),(s,_)=>c(e)?(i(),d("pre",u,[a(" "),l(s.$slots,"default",{unwrap:"p"}),a(` +import{d as t,r as o,o as n,B as m,L as c,b as i,c as d,G as a,$ as l,f as p}from"./entry.363473ce.js";import{m as r}from"./mermaid.core.bd97f718.js";import"./_commonjsHelpers.725317a4.js";const u={key:0,class:"mermaid"},x=t({__name:"Mermaid",setup(f){const e=o(!1);return n(async()=>{e.value=!0,await m(),r.initialize({startOnLoad:!1}),r.run({querySelector:".mermaid",suppressErrors:!1})}),(s,_)=>c(e)?(i(),d("pre",u,[a(" "),l(s.$slots,"default",{unwrap:"p"}),a(` `)])):p("",!0)}});export{x as default}; diff --git a/_nuxt/NuxtImg.097f1e99.js b/_nuxt/NuxtImg.097f1e99.js new file mode 100644 index 0000000000..f1c95e3c93 --- /dev/null +++ b/_nuxt/NuxtImg.097f1e99.js @@ -0,0 +1 @@ +import{_ as m}from"./NuxtImg.vue.e55e6bf2.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/NuxtImg.75a551c9.js b/_nuxt/NuxtImg.75a551c9.js deleted file mode 100644 index afa8b6531e..0000000000 --- a/_nuxt/NuxtImg.75a551c9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./NuxtImg.vue.b90fde17.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/NuxtImg.vue.b90fde17.js b/_nuxt/NuxtImg.vue.e55e6bf2.js similarity index 89% rename from _nuxt/NuxtImg.vue.b90fde17.js rename to _nuxt/NuxtImg.vue.e55e6bf2.js index 56aab20084..0fa1ed529e 100644 --- a/_nuxt/NuxtImg.vue.b90fde17.js +++ b/_nuxt/NuxtImg.vue.e55e6bf2.js @@ -1 +1 @@ -import{d as a,K as i,Q as e,aG as n,l as h}from"./entry.8cfa8efb.js";const f=a({props:{src:{type:[String,Object],default:null}},setup(s){const r=t=>t&&t.startsWith("/")&&!t.startsWith("//")?n(t,h().app.baseURL):t;return{imgSrc:i(()=>{let t=s.src;try{t=JSON.parse(t)}catch{t=s.src}return typeof t=="string"?r(s.src):{light:r(t.light),dark:r(t.dark)}})}},render({imgSrc:s}){if(typeof s=="string")return e("img",{src:s,...this.$attrs});const r=[];return s.light&&r.push(e("img",{src:s.light,class:["dark-img"],...this.$attrs})),s.dark&&r.push(e("img",{src:s.dark,class:["light-img"],...this.$attrs})),r}});export{f as _}; +import{d as a,K as i,Q as e,aG as n,l as h}from"./entry.363473ce.js";const f=a({props:{src:{type:[String,Object],default:null}},setup(s){const r=t=>t&&t.startsWith("/")&&!t.startsWith("//")?n(t,h().app.baseURL):t;return{imgSrc:i(()=>{let t=s.src;try{t=JSON.parse(t)}catch{t=s.src}return typeof t=="string"?r(s.src):{light:r(t.light),dark:r(t.dark)}})}},render({imgSrc:s}){if(typeof s=="string")return e("img",{src:s,...this.$attrs});const r=[];return s.light&&r.push(e("img",{src:s.light,class:["dark-img"],...this.$attrs})),s.dark&&r.push(e("img",{src:s.dark,class:["light-img"],...this.$attrs})),r}});export{f as _}; diff --git a/_nuxt/PreviewLayout.dffb4a1b.js b/_nuxt/PreviewLayout.b72ee82f.js similarity index 75% rename from _nuxt/PreviewLayout.dffb4a1b.js rename to _nuxt/PreviewLayout.b72ee82f.js index 4ad2061a2c..9a4a1c8034 100644 --- a/_nuxt/PreviewLayout.dffb4a1b.js +++ b/_nuxt/PreviewLayout.b72ee82f.js @@ -1 +1 @@ -import{k as t,b as _,c as o,ab as s}from"./entry.8cfa8efb.js";const r={},a={class:"preview-layout"};function n(e,c){return _(),o("div",a,[s(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{d as default}; +import{k as t,b as _,c as o,ab as s}from"./entry.363473ce.js";const r={},a={class:"preview-layout"};function n(e,c){return _(),o("div",a,[s(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{d as default}; diff --git a/_nuxt/PrimaryButton.f4f8ca29.js b/_nuxt/PrimaryButton.f52dfa59.js similarity index 75% rename from _nuxt/PrimaryButton.f4f8ca29.js rename to _nuxt/PrimaryButton.f52dfa59.js index 6e4aabb161..7e1bacd3ac 100644 --- a/_nuxt/PrimaryButton.f4f8ca29.js +++ b/_nuxt/PrimaryButton.f52dfa59.js @@ -1 +1 @@ -import{k as t,b as o,c as n,ab as c}from"./entry.8cfa8efb.js";const r={},s={"px-2":"","py-1":"",rounded:"","bg-teal-600":"","text-white":""};function _(e,a){return o(),n("button",s,[c(e.$slots,"default")])}const l=t(r,[["render",_]]);export{l as default}; +import{k as t,b as o,c as n,ab as c}from"./entry.363473ce.js";const r={},s={"px-2":"","py-1":"",rounded:"","bg-teal-600":"","text-white":""};function _(e,a){return o(),n("button",s,[c(e.$slots,"default")])}const l=t(r,[["render",_]]);export{l as default}; diff --git a/_nuxt/Props.7a12102e.js b/_nuxt/Props.112b3d14.js similarity index 87% rename from _nuxt/Props.7a12102e.js rename to _nuxt/Props.112b3d14.js index f33c919571..33875679a3 100644 --- a/_nuxt/Props.7a12102e.js +++ b/_nuxt/Props.112b3d14.js @@ -1 +1 @@ -import g from"./ProseTh.9385b277.js";import B from"./ProseTr.549babfe.js";import V from"./ProseThead.4aa296f7.js";import C from"./ProseCodeInline.b8352ab0.js";import b from"./ProseTd.765a7462.js";import N from"./ProseTbody.92747366.js";import R from"./ProseTable.64fc60e6.js";import{k as L,d as X,aK as E,aL as F,K as m,b as o,Y as l,w as e,g as s,G as d,f,c as K,F as S,aC as Y,t as c}from"./entry.8cfa8efb.js";const A=X({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${E(t.of)}`,{data:h}=await F(t.of,()=>$fetch(k),"$LqtXXX1Enc"),i=m(()=>h.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),q=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),r=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:r,showDefault:y}}});function G(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=C,_=b,T=N,$=R;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(r,null,{default:e(()=>[d("Prop")]),_:1}),s(r,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(r,{key:0},{default:e(()=>[d(" Required ")]),_:1})):f("",!0),t.showDefault?(o(),l(r,{key:1},{default:e(()=>[d(" Default ")]),_:1})):f("",!0),t.showValues?(o(),l(r,{key:2},{default:e(()=>[d(" Values ")]),_:1})):f("",!0),t.showDescription?(o(),l(r,{key:3},{default:e(()=>[d(" Description ")]),_:1})):f("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),K(S,null,Y(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):f("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):f("",!0)]),_:2},1024)):f("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):f("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):f("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):f("",!0)}const Q=L(A,[["render",G]]);export{Q as default}; +import g from"./ProseTh.0ea95150.js";import B from"./ProseTr.ad4040b6.js";import V from"./ProseThead.9910ba3b.js";import C from"./ProseCodeInline.9c9d33d7.js";import b from"./ProseTd.8928ab13.js";import N from"./ProseTbody.09a535b9.js";import R from"./ProseTable.0daabad2.js";import{k as L,d as X,aK as E,aL as F,K as m,b as o,Y as l,w as e,g as s,G as d,f,c as K,F as S,aC as Y,t as c}from"./entry.363473ce.js";const A=X({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${E(t.of)}`,{data:h}=await F(t.of,()=>$fetch(k),"$LqtXXX1Enc"),i=m(()=>h.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),q=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),r=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:r,showDefault:y}}});function G(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=C,_=b,T=N,$=R;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(r,null,{default:e(()=>[d("Prop")]),_:1}),s(r,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(r,{key:0},{default:e(()=>[d(" Required ")]),_:1})):f("",!0),t.showDefault?(o(),l(r,{key:1},{default:e(()=>[d(" Default ")]),_:1})):f("",!0),t.showValues?(o(),l(r,{key:2},{default:e(()=>[d(" Values ")]),_:1})):f("",!0),t.showDescription?(o(),l(r,{key:3},{default:e(()=>[d(" Description ")]),_:1})):f("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),K(S,null,Y(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):f("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):f("",!0)]),_:2},1024)):f("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):f("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):f("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):f("",!0)}const Q=L(A,[["render",G]]);export{Q as default}; diff --git a/_nuxt/ProseA.1e07e3b7.js b/_nuxt/ProseA.3b23d1db.js similarity index 84% rename from _nuxt/ProseA.1e07e3b7.js rename to _nuxt/ProseA.3b23d1db.js index 66684878b3..3f3511996d 100644 --- a/_nuxt/ProseA.1e07e3b7.js +++ b/_nuxt/ProseA.3b23d1db.js @@ -1 +1 @@ -import{d as a,b as _,Y as n,w as r,ab as s,H as c,k as d}from"./entry.8cfa8efb.js";const u=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,p)=>{const o=c;return _(),n(o,{to:t.href,target:t.target},{default:r(()=>[s(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}});const l=d(u,[["__scopeId","data-v-a23c09bb"]]);export{l as default}; +import{d as a,b as _,Y as n,w as r,ab as s,H as c,k as d}from"./entry.363473ce.js";const u=a({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,p)=>{const o=c;return _(),n(o,{to:t.href,target:t.target},{default:r(()=>[s(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}});const l=d(u,[["__scopeId","data-v-a23c09bb"]]);export{l as default}; diff --git a/_nuxt/ProseBlockquote.83a198b5.js b/_nuxt/ProseBlockquote.fce01a65.js similarity index 72% rename from _nuxt/ProseBlockquote.83a198b5.js rename to _nuxt/ProseBlockquote.fce01a65.js index 434f33d535..5fecc68d31 100644 --- a/_nuxt/ProseBlockquote.83a198b5.js +++ b/_nuxt/ProseBlockquote.fce01a65.js @@ -1 +1 @@ -import{k as o,b as t,c,ab as _}from"./entry.8cfa8efb.js";const r={};function s(e,n){return t(),c("blockquote",null,[_(e.$slots,"default",{},void 0,!0)])}const d=o(r,[["render",s],["__scopeId","data-v-eae89cdc"]]);export{d as default}; +import{k as o,b as t,c,ab as _}from"./entry.363473ce.js";const r={};function s(e,n){return t(),c("blockquote",null,[_(e.$slots,"default",{},void 0,!0)])}const d=o(r,[["render",s],["__scopeId","data-v-eae89cdc"]]);export{d as default}; diff --git a/_nuxt/ProseCode.6f638cb3.js b/_nuxt/ProseCode.17426633.js similarity index 96% rename from _nuxt/ProseCode.6f638cb3.js rename to _nuxt/ProseCode.17426633.js index 3dc531d7b5..dac5f5e067 100644 --- a/_nuxt/ProseCode.6f638cb3.js +++ b/_nuxt/ProseCode.17426633.js @@ -1 +1 @@ -import{d as y,r as l,aE as k,aF as w,x,b as s,c as d,e as m,g as v,w as S,Y as _,L as f,T as b,n as C,a1 as $,p as I,i as P,k as h,t as z,f as N,ab as T}from"./entry.8cfa8efb.js";const V=e=>(I("data-v-11c7dd38"),e=e(),P(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),E={class:"icon-wrapper"},M=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,a=l(),{copy:t}=k();w(a,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=x(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(p=>{console.warn("Couldn't copy to clipboard!",p)})};return(B,p)=>{const u=$;return s(),d("button",{ref_key:"copyButtonRef",ref:a,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",E,[v(b,{name:"fade"},{default:S(()=>{var r,i;return[o.value==="copied"?(s(),_(u,{key:0,name:(r=f(c).copyButton)==null?void 0:r.iconCopied,size:"18",class:"copied"},null,8,["name"])):(s(),_(u,{key:1,name:(i=f(c).copyButton)==null?void 0:i.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}});const R=h(M,[["__scopeId","data-v-11c7dd38"]]),D={key:0,class:"filename"},F=y({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const n=l(!1);return(a,t)=>{const c=R;return s(),d("div",{class:C([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=o=>n.value=!0),onMouseleave:t[1]||(t[1]=o=>n.value=!1)},[e.filename?(s(),d("span",D,z(e.filename),1)):N("",!0),T(a.$slots,"default",{},void 0,!0),v(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}});const O=h(F,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; +import{d as y,r as l,aE as k,aF as w,x,b as s,c as d,e as m,g as v,w as S,Y as _,L as f,T as b,n as C,a1 as $,p as I,i as P,k as h,t as z,f as N,ab as T}from"./entry.363473ce.js";const V=e=>(I("data-v-11c7dd38"),e=e(),P(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),E={class:"icon-wrapper"},M=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,a=l(),{copy:t}=k();w(a,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=x(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(p=>{console.warn("Couldn't copy to clipboard!",p)})};return(B,p)=>{const u=$;return s(),d("button",{ref_key:"copyButtonRef",ref:a,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",E,[v(b,{name:"fade"},{default:S(()=>{var r,i;return[o.value==="copied"?(s(),_(u,{key:0,name:(r=f(c).copyButton)==null?void 0:r.iconCopied,size:"18",class:"copied"},null,8,["name"])):(s(),_(u,{key:1,name:(i=f(c).copyButton)==null?void 0:i.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}});const R=h(M,[["__scopeId","data-v-11c7dd38"]]),D={key:0,class:"filename"},F=y({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const n=l(!1);return(a,t)=>{const c=R;return s(),d("div",{class:C([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=o=>n.value=!0),onMouseleave:t[1]||(t[1]=o=>n.value=!1)},[e.filename?(s(),d("span",D,z(e.filename),1)):N("",!0),T(a.$slots,"default",{},void 0,!0),v(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}});const O=h(F,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; diff --git a/_nuxt/ProseCodeInline.b8352ab0.js b/_nuxt/ProseCodeInline.9c9d33d7.js similarity index 72% rename from _nuxt/ProseCodeInline.b8352ab0.js rename to _nuxt/ProseCodeInline.9c9d33d7.js index 454d62e926..78c96fa6e5 100644 --- a/_nuxt/ProseCodeInline.b8352ab0.js +++ b/_nuxt/ProseCodeInline.9c9d33d7.js @@ -1 +1 @@ -import{k as _,b as n,c as t,ab as o}from"./entry.8cfa8efb.js";const r={};function s(e,c){return n(),t("code",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-e743899b"]]);export{d as default}; +import{k as _,b as n,c as t,ab as o}from"./entry.363473ce.js";const r={};function s(e,c){return n(),t("code",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-e743899b"]]);export{d as default}; diff --git a/_nuxt/ProseEm.afdd4669.js b/_nuxt/ProseEm.b4bfd934.js similarity index 72% rename from _nuxt/ProseEm.afdd4669.js rename to _nuxt/ProseEm.b4bfd934.js index 7c122a2506..d06aef2c00 100644 --- a/_nuxt/ProseEm.afdd4669.js +++ b/_nuxt/ProseEm.b4bfd934.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.8cfa8efb.js";const n={};function o(e,a){return _(),r("em",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-e71d4541"]]);export{d as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.363473ce.js";const n={};function o(e,a){return _(),r("em",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-e71d4541"]]);export{d as default}; diff --git a/_nuxt/ProseH1.206d23c3.js b/_nuxt/ProseH1.8b960107.js similarity index 91% rename from _nuxt/ProseH1.206d23c3.js rename to _nuxt/ProseH1.8b960107.js index 7ef2b42633..414d04acba 100644 --- a/_nuxt/ProseH1.206d23c3.js +++ b/_nuxt/ProseH1.8b960107.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.8cfa8efb.js";const g=["id"],b=i({__name:"ProseH1",props:{id:{}},setup(C){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h1",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-a6b5ed16"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.363473ce.js";const g=["id"],b=i({__name:"ProseH1",props:{id:{}},setup(C){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h1)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h1",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-a6b5ed16"]]);export{y as default}; diff --git a/_nuxt/ProseH2.d7e869ee.js b/_nuxt/ProseH2.764ace8e.js similarity index 91% rename from _nuxt/ProseH2.d7e869ee.js rename to _nuxt/ProseH2.764ace8e.js index 265cd57f87..879c363696 100644 --- a/_nuxt/ProseH2.d7e869ee.js +++ b/_nuxt/ProseH2.764ace8e.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.8cfa8efb.js";const g=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(H){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h2",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-1c268e02"]]);export{B as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.363473ce.js";const g=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(H){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h2)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h2",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-1c268e02"]]);export{B as default}; diff --git a/_nuxt/ProseH3.202c0d8e.js b/_nuxt/ProseH3.54312fcb.js similarity index 91% rename from _nuxt/ProseH3.202c0d8e.js rename to _nuxt/ProseH3.54312fcb.js index a1bb4d5713..8184cfd713 100644 --- a/_nuxt/ProseH3.202c0d8e.js +++ b/_nuxt/ProseH3.54312fcb.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as f,Y as p,f as h,a1 as k,H as v,k as x}from"./entry.8cfa8efb.js";const g=["id"],b=i({__name:"ProseH3",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h3",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c3af30bd"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as f,Y as p,f as h,a1 as k,H as v,k as x}from"./entry.363473ce.js";const g=["id"],b=i({__name:"ProseH3",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h3)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h3",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),p(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c3af30bd"]]);export{y as default}; diff --git a/_nuxt/ProseH4.a256f8e8.js b/_nuxt/ProseH4.9099838c.js similarity index 91% rename from _nuxt/ProseH4.a256f8e8.js rename to _nuxt/ProseH4.9099838c.js index 37fea54dc1..cae8e08130 100644 --- a/_nuxt/ProseH4.a256f8e8.js +++ b/_nuxt/ProseH4.9099838c.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as r,g as m,w as l,ab as f,Y as p,f as h,a1 as x,H as k,k as v}from"./entry.8cfa8efb.js";const g=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),_=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),c=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const s=x,d=k;return a(),r("h4",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),_.value?(a(),p(s,{key:0,name:c.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=v(C,[["__scopeId","data-v-8e1edaf9"]]);export{B as default}; +import{d as i,x as u,K as t,b as a,c as r,g as m,w as l,ab as f,Y as p,f as h,a1 as x,H as k,k as v}from"./entry.363473ce.js";const g=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),_=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),c=t(()=>{var n,o;return((n=e==null?void 0:e.h4)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const s=x,d=k;return a(),r("h4",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),_.value?(a(),p(s,{key:0,name:c.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=v(C,[["__scopeId","data-v-8e1edaf9"]]);export{B as default}; diff --git a/_nuxt/ProseH5.a5742ebc.js b/_nuxt/ProseH5.c7b907e8.js similarity index 91% rename from _nuxt/ProseH5.a5742ebc.js rename to _nuxt/ProseH5.c7b907e8.js index 87ed10824d..f18cb4b396 100644 --- a/_nuxt/ProseH5.a5742ebc.js +++ b/_nuxt/ProseH5.c7b907e8.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.8cfa8efb.js";const g=["id"],b=i({__name:"ProseH5",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h5",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c70a6b36"]]);export{y as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.363473ce.js";const g=["id"],b=i({__name:"ProseH5",props:{id:{}},setup(C){const{prose:e}=r(),c=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),s=t(()=>{var n,o;return((n=e==null?void 0:e.h5)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const _=k,d=v;return a(),u("h5",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),c.value?(a(),f(_,{key:0,name:s.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const y=x(b,[["__scopeId","data-v-c70a6b36"]]);export{y as default}; diff --git a/_nuxt/ProseH6.26705e6e.js b/_nuxt/ProseH6.eb0d4c67.js similarity index 91% rename from _nuxt/ProseH6.26705e6e.js rename to _nuxt/ProseH6.eb0d4c67.js index 0fd1540c81..ff5995fe1b 100644 --- a/_nuxt/ProseH6.26705e6e.js +++ b/_nuxt/ProseH6.eb0d4c67.js @@ -1 +1 @@ -import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.8cfa8efb.js";const g=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(H){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h6",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-d708d2d4"]]);export{B as default}; +import{d as i,x as r,K as t,b as a,c as u,g as m,w as l,ab as p,Y as f,f as h,a1 as k,H as v,k as x}from"./entry.363473ce.js";const g=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(H){const{prose:e}=r(),s=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)&&((o=e==null?void 0:e.headings)==null?void 0:o.icon)}),_=t(()=>{var n,o;return((n=e==null?void 0:e.h6)==null?void 0:n.icon)||((o=e==null?void 0:e.headings)==null?void 0:o.icon)});return(n,o)=>{const c=k,d=v;return a(),u("h6",{id:n.id},[m(d,{href:`#${n.id}`},{default:l(()=>[p(n.$slots,"default",{},void 0,!0),s.value?(a(),f(c,{key:0,name:_.value},null,8,["name"])):h("",!0)]),_:3},8,["href"])],8,g)}}});const B=x(C,[["__scopeId","data-v-d708d2d4"]]);export{B as default}; diff --git a/_nuxt/ProseHr.0de9504d.js b/_nuxt/ProseHr.ed5dea36.js similarity index 64% rename from _nuxt/ProseHr.0de9504d.js rename to _nuxt/ProseHr.ed5dea36.js index a682ed17d6..79141a5c31 100644 --- a/_nuxt/ProseHr.0de9504d.js +++ b/_nuxt/ProseHr.ed5dea36.js @@ -1 +1 @@ -import{k as e,b as _,c as r}from"./entry.8cfa8efb.js";const t={};function c(o,s){return _(),r("hr")}const n=e(t,[["render",c],["__scopeId","data-v-a0643f32"]]);export{n as default}; +import{k as e,b as _,c as r}from"./entry.363473ce.js";const t={};function c(o,s){return _(),r("hr")}const n=e(t,[["render",c],["__scopeId","data-v-a0643f32"]]);export{n as default}; diff --git a/_nuxt/ProseImg.ca319b2b.js b/_nuxt/ProseImg.6c526aec.js similarity index 89% rename from _nuxt/ProseImg.ca319b2b.js rename to _nuxt/ProseImg.6c526aec.js index efcea0294f..b1f117522f 100644 --- a/_nuxt/ProseImg.ca319b2b.js +++ b/_nuxt/ProseImg.6c526aec.js @@ -1 +1 @@ -import{d as a,K as n,aG as i,l as o,b as c,c as d,R as u,L as h,k as l}from"./entry.8cfa8efb.js";const f=["src","alt","width","height"],m=a({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,r=n(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?i(e.src,o().app.baseURL):e.src});return(s,_)=>(c(),d("img",u(s.$attrs,{src:h(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}});const p=l(m,[["__scopeId","data-v-59fa7d04"]]);export{p as default}; +import{d as a,K as n,aG as i,l as o,b as c,c as d,R as u,L as h,k as l}from"./entry.363473ce.js";const f=["src","alt","width","height"],m=a({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,r=n(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?i(e.src,o().app.baseURL):e.src});return(s,_)=>(c(),d("img",u(s.$attrs,{src:h(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}});const p=l(m,[["__scopeId","data-v-59fa7d04"]]);export{p as default}; diff --git a/_nuxt/ProseLi.d717e006.js b/_nuxt/ProseLi.63d33c9f.js similarity index 72% rename from _nuxt/ProseLi.d717e006.js rename to _nuxt/ProseLi.63d33c9f.js index 00343405d1..c4972d0815 100644 --- a/_nuxt/ProseLi.d717e006.js +++ b/_nuxt/ProseLi.63d33c9f.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.8cfa8efb.js";const n={};function o(e,a){return _(),r("li",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-8d545697"]]);export{d as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.363473ce.js";const n={};function o(e,a){return _(),r("li",null,[s(e.$slots,"default",{},void 0,!0)])}const d=t(n,[["render",o],["__scopeId","data-v-8d545697"]]);export{d as default}; diff --git a/_nuxt/ProseOl.34fa238a.js b/_nuxt/ProseOl.52c1e340.js similarity index 72% rename from _nuxt/ProseOl.34fa238a.js rename to _nuxt/ProseOl.52c1e340.js index 7a8e079a16..8dbbe39db6 100644 --- a/_nuxt/ProseOl.34fa238a.js +++ b/_nuxt/ProseOl.52c1e340.js @@ -1 +1 @@ -import{k as t,b as _,c as o,ab as r}from"./entry.8cfa8efb.js";const s={};function n(e,a){return _(),o("ol",null,[r(e.$slots,"default",{},void 0,!0)])}const l=t(s,[["render",n],["__scopeId","data-v-315a078b"]]);export{l as default}; +import{k as t,b as _,c as o,ab as r}from"./entry.363473ce.js";const s={};function n(e,a){return _(),o("ol",null,[r(e.$slots,"default",{},void 0,!0)])}const l=t(s,[["render",n],["__scopeId","data-v-315a078b"]]);export{l as default}; diff --git a/_nuxt/ProseP.6f520d03.js b/_nuxt/ProseP.4963ee57.js similarity index 72% rename from _nuxt/ProseP.6f520d03.js rename to _nuxt/ProseP.4963ee57.js index eebe8c5bdc..4457fe7a77 100644 --- a/_nuxt/ProseP.6f520d03.js +++ b/_nuxt/ProseP.4963ee57.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.8cfa8efb.js";const r={};function s(e,c){return t(),n("p",null,[o(e.$slots,"default",{},void 0,!0)])}const f=_(r,[["render",s],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.363473ce.js";const r={};function s(e,c){return t(),n("p",null,[o(e.$slots,"default",{},void 0,!0)])}const f=_(r,[["render",s],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; diff --git a/_nuxt/ProsePre.2eed70cd.js b/_nuxt/ProsePre.c0d8a25c.js similarity index 82% rename from _nuxt/ProsePre.2eed70cd.js rename to _nuxt/ProsePre.c0d8a25c.js index b924688510..d4e00e5f5f 100644 --- a/_nuxt/ProsePre.2eed70cd.js +++ b/_nuxt/ProsePre.c0d8a25c.js @@ -1 +1 @@ -import l from"./ProseCode.6f638cb3.js";import{d as n,b as s,Y as o,w as i,e as r,n as u,aS as g,ab as d}from"./entry.8cfa8efb.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,c)=>{const a=l;return s(),o(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:i(()=>[r("pre",{class:u(t.$props.class),style:g(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; +import l from"./ProseCode.17426633.js";import{d as n,b as s,Y as o,w as i,e as r,n as u,aS as g,ab as d}from"./entry.363473ce.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(t,c)=>{const a=l;return s(),o(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:i(()=>[r("pre",{class:u(t.$props.class),style:g(e.style)},[d(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/ProseStrong.024252fc.js b/_nuxt/ProseStrong.f37f0507.js similarity index 72% rename from _nuxt/ProseStrong.024252fc.js rename to _nuxt/ProseStrong.f37f0507.js index 639e7ab5ac..644736fda7 100644 --- a/_nuxt/ProseStrong.024252fc.js +++ b/_nuxt/ProseStrong.f37f0507.js @@ -1 +1 @@ -import{k as t,b as r,c as n,ab as o}from"./entry.8cfa8efb.js";const s={};function _(e,a){return r(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(s,[["render",_],["__scopeId","data-v-293bb80f"]]);export{d as default}; +import{k as t,b as r,c as n,ab as o}from"./entry.363473ce.js";const s={};function _(e,a){return r(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(s,[["render",_],["__scopeId","data-v-293bb80f"]]);export{d as default}; diff --git a/_nuxt/ProseTable.64fc60e6.js b/_nuxt/ProseTable.0daabad2.js similarity index 77% rename from _nuxt/ProseTable.64fc60e6.js rename to _nuxt/ProseTable.0daabad2.js index 0644a8eabe..3e55c899c4 100644 --- a/_nuxt/ProseTable.64fc60e6.js +++ b/_nuxt/ProseTable.0daabad2.js @@ -1 +1 @@ -import{k as t,b as _,c as s,e as a,ab as n}from"./entry.8cfa8efb.js";const o={},c={class:"table-wrapper"};function r(e,d){return _(),s("div",c,[a("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",r],["__scopeId","data-v-fbc01453"]]);export{f as default}; +import{k as t,b as _,c as s,e as a,ab as n}from"./entry.363473ce.js";const o={},c={class:"table-wrapper"};function r(e,d){return _(),s("div",c,[a("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",r],["__scopeId","data-v-fbc01453"]]);export{f as default}; diff --git a/_nuxt/ProseTbody.92747366.js b/_nuxt/ProseTbody.09a535b9.js similarity index 66% rename from _nuxt/ProseTbody.92747366.js rename to _nuxt/ProseTbody.09a535b9.js index 6f50333ef4..d705303352 100644 --- a/_nuxt/ProseTbody.92747366.js +++ b/_nuxt/ProseTbody.09a535b9.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ab as c}from"./entry.8cfa8efb.js";const r={};function s(e,a){return n(),o("tbody",null,[c(e.$slots,"default")])}const l=t(r,[["render",s]]);export{l as default}; +import{k as t,b as n,c as o,ab as c}from"./entry.363473ce.js";const r={};function s(e,a){return n(),o("tbody",null,[c(e.$slots,"default")])}const l=t(r,[["render",s]]);export{l as default}; diff --git a/_nuxt/ProseTd.765a7462.js b/_nuxt/ProseTd.8928ab13.js similarity index 72% rename from _nuxt/ProseTd.765a7462.js rename to _nuxt/ProseTd.8928ab13.js index 98632264e2..f7738271f7 100644 --- a/_nuxt/ProseTd.765a7462.js +++ b/_nuxt/ProseTd.8928ab13.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.8cfa8efb.js";const c={};function r(e,s){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(c,[["render",r],["__scopeId","data-v-e749cfe8"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.363473ce.js";const c={};function r(e,s){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(c,[["render",r],["__scopeId","data-v-e749cfe8"]]);export{d as default}; diff --git a/_nuxt/ProseTh.9385b277.js b/_nuxt/ProseTh.0ea95150.js similarity index 72% rename from _nuxt/ProseTh.9385b277.js rename to _nuxt/ProseTh.0ea95150.js index 5d4784affc..8fd4dc46f1 100644 --- a/_nuxt/ProseTh.9385b277.js +++ b/_nuxt/ProseTh.0ea95150.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.8cfa8efb.js";const r={};function s(e,c){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-d08e1929"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.363473ce.js";const r={};function s(e,c){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-d08e1929"]]);export{d as default}; diff --git a/_nuxt/ProseThead.4aa296f7.js b/_nuxt/ProseThead.9910ba3b.js similarity index 72% rename from _nuxt/ProseThead.4aa296f7.js rename to _nuxt/ProseThead.9910ba3b.js index a47b084241..19456f14fc 100644 --- a/_nuxt/ProseThead.4aa296f7.js +++ b/_nuxt/ProseThead.9910ba3b.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as o}from"./entry.8cfa8efb.js";const r={};function s(e,a){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-7384b874"]]);export{d as default}; +import{k as _,b as t,c as n,ab as o}from"./entry.363473ce.js";const r={};function s(e,a){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-7384b874"]]);export{d as default}; diff --git a/_nuxt/ProseTr.549babfe.js b/_nuxt/ProseTr.ad4040b6.js similarity index 72% rename from _nuxt/ProseTr.549babfe.js rename to _nuxt/ProseTr.ad4040b6.js index c7d8c859ff..fba3d34fc3 100644 --- a/_nuxt/ProseTr.549babfe.js +++ b/_nuxt/ProseTr.ad4040b6.js @@ -1 +1 @@ -import{k as _,b as t,c as n,ab as r}from"./entry.8cfa8efb.js";const o={};function s(e,c){return t(),n("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=_(o,[["render",s],["__scopeId","data-v-8584fb94"]]);export{d as default}; +import{k as _,b as t,c as n,ab as r}from"./entry.363473ce.js";const o={};function s(e,c){return t(),n("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=_(o,[["render",s],["__scopeId","data-v-8584fb94"]]);export{d as default}; diff --git a/_nuxt/ProseUl.48b03ac2.js b/_nuxt/ProseUl.d083731b.js similarity index 72% rename from _nuxt/ProseUl.48b03ac2.js rename to _nuxt/ProseUl.d083731b.js index b7963a63f9..ff53538ed0 100644 --- a/_nuxt/ProseUl.48b03ac2.js +++ b/_nuxt/ProseUl.d083731b.js @@ -1 +1 @@ -import{k as t,b as _,c as r,ab as s}from"./entry.8cfa8efb.js";const n={};function o(e,a){return _(),r("ul",null,[s(e.$slots,"default",{},void 0,!0)])}const l=t(n,[["render",o],["__scopeId","data-v-47f13bb3"]]);export{l as default}; +import{k as t,b as _,c as r,ab as s}from"./entry.363473ce.js";const n={};function o(e,a){return _(),r("ul",null,[s(e.$slots,"default",{},void 0,!0)])}const l=t(n,[["render",o],["__scopeId","data-v-47f13bb3"]]);export{l as default}; diff --git a/_nuxt/Sandbox.a29cbafc.js b/_nuxt/Sandbox.e79006f2.js similarity index 86% rename from _nuxt/Sandbox.a29cbafc.js rename to _nuxt/Sandbox.e79006f2.js index 138c57155e..2e54d36897 100644 --- a/_nuxt/Sandbox.a29cbafc.js +++ b/_nuxt/Sandbox.e79006f2.js @@ -1 +1 @@ -import v from"./TabsHeader.aa83efec.js";import{d as x,aM as g,r as n,o as h,b as r,c as l,Y as S,L as c,f as y,k}from"./entry.8cfa8efb.js";const $={class:"sandbox"},w=["src"],B={key:2},C=x({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const e=i,b=g(),o={CodeSandBox:()=>`https://codesandbox.io/embed/github/${e.repo}/tree/${e.branch}/${e.dir}?hidenavigation=1&theme=${b.value}`,StackBlitz:()=>`https://stackblitz.com/github/${e.repo}/tree/${e.branch}/${e.dir}?embed=1&file=${e.file}&theme=${b.value}`},p=Object.keys(o).map(t=>({label:t})),d=n(-1),u=n(),s=n(""),a=n(""),_=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},f=t=>{d.value=t,_(p[t].label)};return h(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",s.value=e.src||o[a.value](),d.value=Object.keys(o).indexOf(a.value)}),(t,I)=>{const m=v;return r(),l("div",$,[i.src?y("",!0):(r(),S(m,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(s)?(r(),l("iframe",{key:1,src:c(s),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,w)):(r(),l("span",B,"Loading Sandbox..."))])}}});const O=k(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; +import v from"./TabsHeader.dd0c96ba.js";import{d as x,aM as g,r as n,o as h,b as r,c as l,Y as S,L as c,f as y,k}from"./entry.363473ce.js";const $={class:"sandbox"},w=["src"],B={key:2},C=x({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const e=i,b=g(),o={CodeSandBox:()=>`https://codesandbox.io/embed/github/${e.repo}/tree/${e.branch}/${e.dir}?hidenavigation=1&theme=${b.value}`,StackBlitz:()=>`https://stackblitz.com/github/${e.repo}/tree/${e.branch}/${e.dir}?embed=1&file=${e.file}&theme=${b.value}`},p=Object.keys(o).map(t=>({label:t})),d=n(-1),u=n(),s=n(""),a=n(""),_=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},f=t=>{d.value=t,_(p[t].label)};return h(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",s.value=e.src||o[a.value](),d.value=Object.keys(o).indexOf(a.value)}),(t,I)=>{const m=v;return r(),l("div",$,[i.src?y("",!0):(r(),S(m,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(s)?(r(),l("iframe",{key:1,src:c(s),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,w)):(r(),l("span",B,"Loading Sandbox..."))])}}});const O=k(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; diff --git a/_nuxt/SourceLink.5afa9492.js b/_nuxt/SourceLink.5afa9492.js deleted file mode 100644 index 84600070c0..0000000000 --- a/_nuxt/SourceLink.5afa9492.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./ProseP.6f520d03.js";import{d as r,b as t,Y as n}from"./entry.8cfa8efb.js";const m=r({__name:"SourceLink",props:{source:{type:String,required:!0}},setup(_){return(c,p)=>{const e=o;return t(),n(e)}}});export{m as default}; diff --git a/_nuxt/SourceLink.9336f6e0.js b/_nuxt/SourceLink.9336f6e0.js new file mode 100644 index 0000000000..d268809664 --- /dev/null +++ b/_nuxt/SourceLink.9336f6e0.js @@ -0,0 +1 @@ +import o from"./ProseP.4963ee57.js";import{d as r,b as t,Y as n}from"./entry.363473ce.js";const m=r({__name:"SourceLink",props:{source:{type:String,required:!0}},setup(_){return(c,p)=>{const e=o;return t(),n(e)}}});export{m as default}; diff --git a/_nuxt/TabsHeader.aa83efec.js b/_nuxt/TabsHeader.dd0c96ba.js similarity index 94% rename from _nuxt/TabsHeader.aa83efec.js rename to _nuxt/TabsHeader.dd0c96ba.js index 215a9027de..3bcee21495 100644 --- a/_nuxt/TabsHeader.aa83efec.js +++ b/_nuxt/TabsHeader.dd0c96ba.js @@ -1 +1 @@ -import{d as b,r as l,a5 as v,b as a,c as s,F as g,aC as x,e as u,f as y,ab as k,n as I,t as T,p as C,i as S,B as $,k as B}from"./entry.8cfa8efb.js";const w=t=>(C("data-v-ad7417d7"),t=t(),S(),t),H={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],F=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,h=_,n=l(),r=l(),o=e=>{e&&(r.value.style.insetInlineStart=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,d)=>{h("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",H,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},i)=>(a(),s("button",{key:`${i}${c}`,class:I([t.activeTabIndex===i?"active":"not-active"]),onClick:m=>f(m,i)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},q,512)],512)):y("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const R=B(F,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; +import{d as b,r as l,a5 as v,b as a,c as s,F as g,aC as x,e as u,f as y,ab as k,n as I,t as T,p as C,i as S,B as $,k as B}from"./entry.363473ce.js";const w=t=>(C("data-v-ad7417d7"),t=t(),S(),t),H={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],F=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,h=_,n=l(),r=l(),o=e=>{e&&(r.value.style.insetInlineStart=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,d)=>{h("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",H,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},i)=>(a(),s("button",{key:`${i}${c}`,class:I([t.activeTabIndex===i?"active":"not-active"]),onClick:m=>f(m,i)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},q,512)],512)):y("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const R=B(F,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; diff --git a/_nuxt/Terminal.d38677a0.js b/_nuxt/Terminal.c1821b13.js similarity index 89% rename from _nuxt/Terminal.d38677a0.js rename to _nuxt/Terminal.c1821b13.js index 50c6483931..e6c871a0b9 100644 --- a/_nuxt/Terminal.d38677a0.js +++ b/_nuxt/Terminal.c1821b13.js @@ -1,2 +1,2 @@ -import{d as v,aE as m,r as h,K as f,b as s,c as o,L as i,f as _,e,F as y,aC as C,p as k,i as g,t as x,k as S}from"./entry.8cfa8efb.js";const n=t=>(k("data-v-1c0fc1e1"),t=t(),g(),t),b={key:0,class:"copied"},w=n(()=>e("div",{class:"scrim"},null,-1)),B=n(()=>e("div",{class:"content"}," Copied! ",-1)),I=[w,B],T=n(()=>e("div",{class:"header"},[e("div",{class:"controls"},[e("div"),e("div"),e("div")]),e("div",{class:"title"}," Bash ")],-1)),E={class:"window"},F=n(()=>e("span",{class:"sign"},"$",-1)),L={class:"content"},N={key:1,class:"prompt"},V=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(t){const a=t,{copy:p}=m(),c=h("init"),r=f(()=>typeof a.content=="string"?[a.content]:a.content),l=u=>{p(r.value.join(` +import{d as v,aE as m,r as h,K as f,b as s,c as o,L as i,f as _,e,F as y,aC as C,p as k,i as g,t as x,k as S}from"./entry.363473ce.js";const n=t=>(k("data-v-1c0fc1e1"),t=t(),g(),t),b={key:0,class:"copied"},w=n(()=>e("div",{class:"scrim"},null,-1)),B=n(()=>e("div",{class:"content"}," Copied! ",-1)),I=[w,B],T=n(()=>e("div",{class:"header"},[e("div",{class:"controls"},[e("div"),e("div"),e("div")]),e("div",{class:"title"}," Bash ")],-1)),E={class:"window"},F=n(()=>e("span",{class:"sign"},"$",-1)),L={class:"content"},N={key:1,class:"prompt"},V=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(t){const a=t,{copy:p}=m(),c=h("init"),r=f(()=>typeof a.content=="string"?[a.content]:a.content),l=u=>{p(r.value.join(` `)).then(()=>{c.value="copied",setTimeout(()=>{c.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(u,j)=>(s(),o("div",{class:"terminal",onClick:l},[i(c)==="copied"?(s(),o("div",b,I)):_("",!0),T,e("div",E,[(s(!0),o(y,null,C(i(r),d=>(s(),o("span",{key:d,class:"line"},[F,e("span",L,x(d),1)]))),128))]),i(c)!=="copied"?(s(),o("div",N," Click to copy ")):_("",!0)]))}});const A=S(V,[["__scopeId","data-v-1c0fc1e1"]]);export{A as default}; diff --git a/_nuxt/ThemeButton.22e5afa3.js b/_nuxt/ThemeButton.22e5afa3.js deleted file mode 100644 index da21a63d32..0000000000 --- a/_nuxt/ThemeButton.22e5afa3.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ThemeButton.vue.b3d3d21a.js";import"./entry.8cfa8efb.js";export{m as default}; diff --git a/_nuxt/ThemeButton.7f292234.js b/_nuxt/ThemeButton.7f292234.js new file mode 100644 index 0000000000..a9ced4d1e9 --- /dev/null +++ b/_nuxt/ThemeButton.7f292234.js @@ -0,0 +1 @@ +import{_ as m}from"./ThemeButton.vue.199003f5.js";import"./entry.363473ce.js";export{m as default}; diff --git a/_nuxt/ThemeButton.vue.b3d3d21a.js b/_nuxt/ThemeButton.vue.199003f5.js similarity index 87% rename from _nuxt/ThemeButton.vue.b3d3d21a.js rename to _nuxt/ThemeButton.vue.199003f5.js index e4c94186e4..d9a0e81727 100644 --- a/_nuxt/ThemeButton.vue.b3d3d21a.js +++ b/_nuxt/ThemeButton.vue.199003f5.js @@ -1 +1 @@ -import{d as s,a0 as c,b as r,c as l,g as m,L as o,G as p,t as u,a1 as i}from"./entry.8cfa8efb.js";const x=s({__name:"ThemeButton",props:{modelValue:{}},emits:["update:modelValue"],setup(t){const e=c(t);function n(){e.value=e.value==="light"?"dark":"light"}return(d,g)=>{const a=i;return r(),l("button",{rounded:"","px-2":"","py-1":"","bg-gray-200":"","text-black":"",onClick:n},[m(a,{name:o(e)==="light"?"heroicons:sun":"heroicons:moon",size:"1.2rem"},null,8,["name"]),p(" Toggle theme: "+u(o(e)),1)])}}});export{x as _}; +import{d as s,a0 as c,b as r,c as l,g as m,L as o,G as p,t as u,a1 as i}from"./entry.363473ce.js";const x=s({__name:"ThemeButton",props:{modelValue:{}},emits:["update:modelValue"],setup(t){const e=c(t);function n(){e.value=e.value==="light"?"dark":"light"}return(d,g)=>{const a=i;return r(),l("button",{rounded:"","px-2":"","py-1":"","bg-gray-200":"","text-black":"",onClick:n},[m(a,{name:o(e)==="light"?"heroicons:sun":"heroicons:moon",size:"1.2rem"},null,8,["name"]),p(" Toggle theme: "+u(o(e)),1)])}}});export{x as _}; diff --git a/_nuxt/TokensPlayground.cb8b3cae.js b/_nuxt/TokensPlayground.0b65ed3a.js similarity index 74% rename from _nuxt/TokensPlayground.cb8b3cae.js rename to _nuxt/TokensPlayground.0b65ed3a.js index b45c6e631e..5ea96a39d0 100644 --- a/_nuxt/TokensPlayground.cb8b3cae.js +++ b/_nuxt/TokensPlayground.0b65ed3a.js @@ -1 +1 @@ -import{d as n,aN as a,b as s,c as t,e as o,t as r,L as c}from"./entry.8cfa8efb.js";const m=n({__name:"TokensPlayground",setup(l){const{theme:e}=a();return(u,i)=>(s(),t("div",null,[o("pre",null,r(JSON.stringify(c(e),null,2)),1)]))}});export{m as default}; +import{d as n,aN as a,b as s,c as t,e as o,t as r,L as c}from"./entry.363473ce.js";const m=n({__name:"TokensPlayground",setup(l){const{theme:e}=a();return(u,i)=>(s(),t("div",null,[o("pre",null,r(JSON.stringify(c(e),null,2)),1)]))}});export{m as default}; diff --git a/_nuxt/VeeValidateCheckbox.113c9f24.js b/_nuxt/VeeValidateCheckbox.3384ca47.js similarity index 80% rename from _nuxt/VeeValidateCheckbox.113c9f24.js rename to _nuxt/VeeValidateCheckbox.3384ca47.js index 6aac491134..3d519a280e 100644 --- a/_nuxt/VeeValidateCheckbox.113c9f24.js +++ b/_nuxt/VeeValidateCheckbox.3384ca47.js @@ -1 +1 @@ -import{_ as y}from"./Checkbox.vue.e1e63870.js";import g from"./PrimaryButton.f4f8ca29.js";import{d as k,b as l,c as n,e as o,a2 as S,a3 as C,L as e,Z as d,t as p,f as _,g as f,w as B,G as N}from"./entry.8cfa8efb.js";import{u as w,c as E,a as v,b as x}from"./index.esm.46f16923.js";import"./component-v2.05f6057d.js";import"./_commonjsHelpers.725317a4.js";const M={key:0,class:"text-red"},$={key:0,class:"text-red"},G=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=w({validationSchema:E({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),c=b(i=>{console.log(i)});return(i,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(c)&&e(c)(...t))},[o("div",null,[S(o("input",{"onUpdate:modelValue":a[0]||(a[0]=t=>d(r)?r.value=t:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[C,e(r)]]),e(u)?(l(),n("div",M,p(e(u)),1)):_("",!0)]),o("div",null,[f(V,{modelValue:e(s),"onUpdate:modelValue":a[1]||(a[1]=t=>d(s)?s.value=t:null)},null,8,["modelValue"]),e(m)?(l(),n("div",$,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N("Submit")]),_:1})])],32)}}});export{G as default}; +import{_ as y}from"./Checkbox.vue.22eca99b.js";import g from"./PrimaryButton.f52dfa59.js";import{d as k,b as l,c as n,e as o,a2 as S,a3 as C,L as e,Z as d,t as p,f as _,g as f,w as B,G as N}from"./entry.363473ce.js";import{u as w,c as E,a as v,b as x}from"./index.esm.acb89b47.js";import"./component-v2.4f123e31.js";import"./_commonjsHelpers.725317a4.js";const M={key:0,class:"text-red"},$={key:0,class:"text-red"},G=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=w({validationSchema:E({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),c=b(i=>{console.log(i)});return(i,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(c)&&e(c)(...t))},[o("div",null,[S(o("input",{"onUpdate:modelValue":a[0]||(a[0]=t=>d(r)?r.value=t:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[C,e(r)]]),e(u)?(l(),n("div",M,p(e(u)),1)):_("",!0)]),o("div",null,[f(V,{modelValue:e(s),"onUpdate:modelValue":a[1]||(a[1]=t=>d(s)?s.value=t:null)},null,8,["modelValue"]),e(m)?(l(),n("div",$,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N("Submit")]),_:1})])],32)}}});export{G as default}; diff --git a/_nuxt/VeeValidateInvisible.8b40a9ed.js b/_nuxt/VeeValidateInvisible.7ad8dce5.js similarity index 73% rename from _nuxt/VeeValidateInvisible.8b40a9ed.js rename to _nuxt/VeeValidateInvisible.7ad8dce5.js index 42af2ff0a7..147e4ce1d9 100644 --- a/_nuxt/VeeValidateInvisible.8b40a9ed.js +++ b/_nuxt/VeeValidateInvisible.7ad8dce5.js @@ -1 +1 @@ -import b from"./PrimaryButton.f4f8ca29.js";import{_ as v}from"./ChallengeV2.vue.60d977f0.js";import{d as x,r as g,a4 as y,b as u,c as i,e as n,a2 as S,a3 as h,L as a,Z as d,t as w,f as B,g as c,w as p,G as C}from"./entry.8cfa8efb.js";import{u as N,c as k,a as $,b as D}from"./index.esm.46f16923.js";import"./component-v2.05f6057d.js";import"./_commonjsHelpers.725317a4.js";const E={key:0,class:"text-red"},I=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:k({name:$().required()})}),{value:s,errorMessage:l}=D("name"),t=g(),r=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return u(),i("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(r)&&a(r)(...o))},[n("div",null,[S(n("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>d(s)?s.value=o:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[h,a(s)]]),a(l)?(u(),i("div",E,w(a(l)),1)):B("",!0)]),n("div",null,[c(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:p(()=>[c(_,{type:"submit"},{default:p(()=>[C("Submit")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{I as default}; +import b from"./PrimaryButton.f52dfa59.js";import{_ as v}from"./ChallengeV2.vue.16fe6184.js";import{d as x,r as g,a4 as y,b as u,c as i,e as n,a2 as S,a3 as h,L as a,Z as d,t as w,f as B,g as c,w as p,G as C}from"./entry.363473ce.js";import{u as N,c as k,a as $,b as D}from"./index.esm.acb89b47.js";import"./component-v2.4f123e31.js";import"./_commonjsHelpers.725317a4.js";const E={key:0,class:"text-red"},I=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:k({name:$().required()})}),{value:s,errorMessage:l}=D("name"),t=g(),r=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return u(),i("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(r)&&a(r)(...o))},[n("div",null,[S(n("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>d(s)?s.value=o:null),class:"border border-blue p-1",type:"text",placeholder:"Your name"},null,512),[[h,a(s)]]),a(l)?(u(),i("div",E,w(a(l)),1)):B("",!0)]),n("div",null,[c(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:p(()=>[c(_,{type:"submit"},{default:p(()=>[C("Submit")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{I as default}; diff --git a/_nuxt/VideoPlayer.b5a8aa7e.js b/_nuxt/VideoPlayer.bd73326f.js similarity index 93% rename from _nuxt/VideoPlayer.b5a8aa7e.js rename to _nuxt/VideoPlayer.bd73326f.js index 979290a975..dd3ae1963c 100644 --- a/_nuxt/VideoPlayer.b5a8aa7e.js +++ b/_nuxt/VideoPlayer.bd73326f.js @@ -1 +1 @@ -import{_}from"./NuxtImg.vue.b90fde17.js";import{d as f,K as i,r as m,b as s,c as a,L as e,Y as v,f as u,F as b,aC as h,n as k,p as g,i as w,e as x,k as B}from"./entry.8cfa8efb.js";const C=t=>(g("data-v-6bf23cab"),t=t(),w(),t),I={key:1,class:"loaded"},S=["poster"],V=["src"],$=["src","type"],N=["autoplay","src"],P=C(()=>x("button",null,null,-1)),E=[P],F=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=m(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,l;return r.src||((l=(o=r.sources)==null?void 0:o[0])==null?void 0:l.src)||!1});return(o,l)=>{const y=_;return s(),a("div",{class:k(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),v(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",I,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,N)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,V)):u("",!0),(s(!0),a(b,null,h(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,S))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:l[0]||(l[0]=n=>p.value=!0)},E))],2)}}});const q=B(F,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; +import{_}from"./NuxtImg.vue.e55e6bf2.js";import{d as f,K as i,r as m,b as s,c as a,L as e,Y as v,f as u,F as b,aC as h,n as k,p as g,i as w,e as x,k as B}from"./entry.363473ce.js";const C=t=>(g("data-v-6bf23cab"),t=t(),w(),t),I={key:1,class:"loaded"},S=["poster"],V=["src"],$=["src","type"],N=["autoplay","src"],P=C(()=>x("button",null,null,-1)),E=[P],F=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=m(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,l;return r.src||((l=(o=r.sources)==null?void 0:o[0])==null?void 0:l.src)||!1});return(o,l)=>{const y=_;return s(),a("div",{class:k(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),v(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",I,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,N)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,V)):u("",!0),(s(!0),a(b,null,h(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,S))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:l[0]||(l[0]=n=>p.value=!0)},E))],2)}}});const q=B(F,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; diff --git a/_nuxt/VoltaBoard.c40363f6.js b/_nuxt/VoltaBoard.b7bae88a.js similarity index 79% rename from _nuxt/VoltaBoard.c40363f6.js rename to _nuxt/VoltaBoard.b7bae88a.js index fee9675835..10049f7381 100644 --- a/_nuxt/VoltaBoard.c40363f6.js +++ b/_nuxt/VoltaBoard.b7bae88a.js @@ -1 +1 @@ -import{d as r,K as s,b as n,c as a,L as c}from"./entry.8cfa8efb.js";const _=["src"],d=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,p)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,_))}});export{d as default}; +import{d as r,K as s,b as n,c as a,L as c}from"./entry.363473ce.js";const _=["src"],d=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,p)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,_))}});export{d as default}; diff --git a/_nuxt/arc.98e8e146.js b/_nuxt/arc.16fae886.js similarity index 96% rename from _nuxt/arc.98e8e146.js rename to _nuxt/arc.16fae886.js index 76c97a812a..fc52186f41 100644 --- a/_nuxt/arc.98e8e146.js +++ b/_nuxt/arc.16fae886.js @@ -1 +1 @@ -import{w as ln,c as B}from"./path.53f90ab3.js";import{ao as an,ap as H,aq as q,ar as rn,as as y,am as on,at as L,au as _,av as un,aw as t,ax as sn,ay as tn,az as fn}from"./mermaid.core.6d8597df.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function xn(l,h,E,z,v,A,C,a){var I=E-l,i=z-h,n=C-v,m=a-A,r=m*I-n*i;if(!(r*ru*u+G*G&&(S=P,j=x),{cx:S,cy:j,x01:-n,y01:-m,x11:S*(v/T-1),y11:j*(v/T-1)}}function vn(){var l=cn,h=yn,E=B(0),z=null,v=gn,A=mn,C=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(F>on-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,R=f,T=c,w=F,O=F,S=C.apply(this,arguments)/2,j=S>y&&(z?+z.apply(this,arguments):L(r*r+s*s)),P=_(un(s-r)/2,+E.apply(this,arguments)),x=P,d=P,e,u;if(j>y){var G=sn(j/r*q(S)),M=sn(j/s*q(S));(w-=G*2)>y?(G*=o?1:-1,R+=G,T-=G):(w=0,R=T=(f+c)/2),(O-=M*2)>y?(M*=o?1:-1,p+=M,g-=M):(O=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(P>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),D;if(Fy?d>y?(e=W(X,Y,J,K,s,d,o),u=W(U,V,N,Q,s,d,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),dy)||!(w>y)?a.lineTo(N,Q):x>y?(e=W(N,Q,U,V,r,-x,o),u=W(J,K,X,Y,r,-x,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),xu*u+G*G&&(S=P,j=x),{cx:S,cy:j,x01:-n,y01:-m,x11:S*(v/T-1),y11:j*(v/T-1)}}function vn(){var l=cn,h=yn,E=B(0),z=null,v=gn,A=mn,C=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=A.apply(this,arguments)-rn,F=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(F>on-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*H(c),r*q(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,R=f,T=c,w=F,O=F,S=C.apply(this,arguments)/2,j=S>y&&(z?+z.apply(this,arguments):L(r*r+s*s)),P=_(un(s-r)/2,+E.apply(this,arguments)),x=P,d=P,e,u;if(j>y){var G=sn(j/r*q(S)),M=sn(j/s*q(S));(w-=G*2)>y?(G*=o?1:-1,R+=G,T-=G):(w=0,R=T=(f+c)/2),(O-=M*2)>y?(M*=o?1:-1,p+=M,g-=M):(O=0,p=g=(f+c)/2)}var J=s*H(p),K=s*q(p),N=r*H(T),Q=r*q(T);if(P>y){var U=s*H(g),V=s*q(g),X=r*H(R),Y=r*q(R),D;if(Fy?d>y?(e=W(X,Y,J,K,s,d,o),u=W(U,V,N,Q,s,d,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),dy)||!(w>y)?a.lineTo(N,Q):x>y?(e=W(N,Q,U,V,r,-x,o),u=W(J,K,X,Y,r,-x,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),x"u"&&(S.yylloc={});var se=S.yylloc;h.push(se);var Ye=S.options&&S.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var X;return X=g.pop()||S.lex()||ge,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,Lt,N,ae,Bt={},Xt,z,be,Wt;;){if(Lt=m[m.length-1],this.defaultActions[Lt]?N=this.defaultActions[Lt]:((M===null||typeof M>"u")&&(M=Ie()),N=Vt[Lt]&&Vt[Lt][M]),typeof N>"u"||!N.length||!N[0]){var re="";Wt=[];for(Xt in Vt[Lt])this.terminals_[Xt]&&Xt>Ne&&Wt.push("'"+this.terminals_[Xt]+"'");S.showPosition?re="Parse error on line "+(Pt+1)+`: +import{s as Ve,g as je,a as Ue,b as Fe,c as Ut,d as Ee,e as ze,f as Xe,h as Yt,i as Qt,l as _e,j as We,k as ke,w as Qe,n as le,o as xe}from"./mermaid.core.bd97f718.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";var qt=function(){var e=function(Ot,_,x,m){for(x=x||{},m=Ot.length;m--;x[Ot[m]]=_);return x},t=[1,6],n=[1,7],o=[1,8],l=[1,9],i=[1,16],a=[1,11],r=[1,12],s=[1,13],u=[1,14],y=[1,15],d=[1,27],p=[1,33],C=[1,34],T=[1,35],R=[1,36],D=[1,37],L=[1,72],Y=[1,73],Q=[1,74],H=[1,75],q=[1,76],G=[1,77],K=[1,78],J=[1,38],Z=[1,39],$=[1,40],tt=[1,41],et=[1,42],it=[1,43],nt=[1,44],st=[1,45],at=[1,46],rt=[1,47],lt=[1,48],ot=[1,49],ct=[1,50],ht=[1,51],ut=[1,52],dt=[1,53],ft=[1,54],pt=[1,55],yt=[1,56],gt=[1,57],bt=[1,59],_t=[1,60],xt=[1,61],mt=[1,62],vt=[1,63],Et=[1,64],kt=[1,65],At=[1,66],Ct=[1,67],wt=[1,68],Tt=[1,69],Nt=[24,52],$t=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],It=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],v=[1,94],E=[1,95],k=[1,96],A=[1,97],w=[15,24,52],fe=[7,8,9,10,18,22,25,26,27,28],pe=[15,24,43,52],zt=[15,24,43,52,86,87,89,90],Dt=[15,43],te=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(_,x,m,g,O,h,Vt){var f=h.length-1;switch(O){case 4:g.setDirection("TB");break;case 5:g.setDirection("BT");break;case 6:g.setDirection("RL");break;case 7:g.setDirection("LR");break;case 11:g.parseDirective("%%{","open_directive");break;case 12:break;case 13:h[f]=h[f].trim().replace(/'/g,'"'),g.parseDirective(h[f],"arg_directive");break;case 14:g.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:g.setC4Type(h[f-3]);break;case 26:g.setTitle(h[f].substring(6)),this.$=h[f].substring(6);break;case 27:g.setAccDescription(h[f].substring(15)),this.$=h[f].substring(15);break;case 28:this.$=h[f].trim(),g.setTitle(this.$);break;case 29:case 30:this.$=h[f].trim(),g.setAccDescription(this.$);break;case 35:case 36:h[f].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 37:g.addPersonOrSystemBoundary(...h[f]),this.$=h[f];break;case 38:h[f].splice(2,0,"CONTAINER"),g.addContainerBoundary(...h[f]),this.$=h[f];break;case 39:g.addDeploymentNode("node",...h[f]),this.$=h[f];break;case 40:g.addDeploymentNode("nodeL",...h[f]),this.$=h[f];break;case 41:g.addDeploymentNode("nodeR",...h[f]),this.$=h[f];break;case 42:g.popBoundaryParseStack();break;case 46:g.addPersonOrSystem("person",...h[f]),this.$=h[f];break;case 47:g.addPersonOrSystem("external_person",...h[f]),this.$=h[f];break;case 48:g.addPersonOrSystem("system",...h[f]),this.$=h[f];break;case 49:g.addPersonOrSystem("system_db",...h[f]),this.$=h[f];break;case 50:g.addPersonOrSystem("system_queue",...h[f]),this.$=h[f];break;case 51:g.addPersonOrSystem("external_system",...h[f]),this.$=h[f];break;case 52:g.addPersonOrSystem("external_system_db",...h[f]),this.$=h[f];break;case 53:g.addPersonOrSystem("external_system_queue",...h[f]),this.$=h[f];break;case 54:g.addContainer("container",...h[f]),this.$=h[f];break;case 55:g.addContainer("container_db",...h[f]),this.$=h[f];break;case 56:g.addContainer("container_queue",...h[f]),this.$=h[f];break;case 57:g.addContainer("external_container",...h[f]),this.$=h[f];break;case 58:g.addContainer("external_container_db",...h[f]),this.$=h[f];break;case 59:g.addContainer("external_container_queue",...h[f]),this.$=h[f];break;case 60:g.addComponent("component",...h[f]),this.$=h[f];break;case 61:g.addComponent("component_db",...h[f]),this.$=h[f];break;case 62:g.addComponent("component_queue",...h[f]),this.$=h[f];break;case 63:g.addComponent("external_component",...h[f]),this.$=h[f];break;case 64:g.addComponent("external_component_db",...h[f]),this.$=h[f];break;case 65:g.addComponent("external_component_queue",...h[f]),this.$=h[f];break;case 67:g.addRel("rel",...h[f]),this.$=h[f];break;case 68:g.addRel("birel",...h[f]),this.$=h[f];break;case 69:g.addRel("rel_u",...h[f]),this.$=h[f];break;case 70:g.addRel("rel_d",...h[f]),this.$=h[f];break;case 71:g.addRel("rel_l",...h[f]),this.$=h[f];break;case 72:g.addRel("rel_r",...h[f]),this.$=h[f];break;case 73:g.addRel("rel_b",...h[f]),this.$=h[f];break;case 74:h[f].splice(0,1),g.addRel("rel",...h[f]),this.$=h[f];break;case 75:g.updateElStyle("update_el_style",...h[f]),this.$=h[f];break;case 76:g.updateRelStyle("update_rel_style",...h[f]),this.$=h[f];break;case 77:g.updateLayoutConfig("update_layout_config",...h[f]),this.$=h[f];break;case 78:this.$=[h[f]];break;case 79:h[f].unshift(h[f-1]),this.$=h[f];break;case 80:case 82:this.$=h[f].trim();break;case 81:let Pt={};Pt[h[f-1].trim()]=h[f].trim(),this.$=Pt;break;case 83:this.$="";break}},table:[{3:1,4:2,5:3,6:4,7:t,8:n,9:o,10:l,11:5,12:10,18:i,22:a,25:r,26:s,27:u,28:y},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:t,8:n,9:o,10:l,11:5,12:10,18:i,22:a,25:r,26:s,27:u,28:y},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:d},e([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:79,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:80,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:81,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{23:82,29:29,30:30,31:31,32:p,33:C,34:T,36:R,38:D,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},e(Nt,[2,20],{53:32,39:58,40:70,42:71,30:87,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt}),e(Nt,[2,21]),e($t,[2,23],{15:[1,88]}),e(Nt,[2,43],{15:[1,89]}),e(It,[2,26]),e(It,[2,27]),{35:[1,90]},{37:[1,91]},e(It,[2,30]),{45:92,85:93,86:v,87:E,89:k,90:A},{45:98,85:93,86:v,87:E,89:k,90:A},{45:99,85:93,86:v,87:E,89:k,90:A},{45:100,85:93,86:v,87:E,89:k,90:A},{45:101,85:93,86:v,87:E,89:k,90:A},{45:102,85:93,86:v,87:E,89:k,90:A},{45:103,85:93,86:v,87:E,89:k,90:A},{45:104,85:93,86:v,87:E,89:k,90:A},{45:105,85:93,86:v,87:E,89:k,90:A},{45:106,85:93,86:v,87:E,89:k,90:A},{45:107,85:93,86:v,87:E,89:k,90:A},{45:108,85:93,86:v,87:E,89:k,90:A},{45:109,85:93,86:v,87:E,89:k,90:A},{45:110,85:93,86:v,87:E,89:k,90:A},{45:111,85:93,86:v,87:E,89:k,90:A},{45:112,85:93,86:v,87:E,89:k,90:A},{45:113,85:93,86:v,87:E,89:k,90:A},{45:114,85:93,86:v,87:E,89:k,90:A},{45:115,85:93,86:v,87:E,89:k,90:A},{45:116,85:93,86:v,87:E,89:k,90:A},e(w,[2,66]),{45:117,85:93,86:v,87:E,89:k,90:A},{45:118,85:93,86:v,87:E,89:k,90:A},{45:119,85:93,86:v,87:E,89:k,90:A},{45:120,85:93,86:v,87:E,89:k,90:A},{45:121,85:93,86:v,87:E,89:k,90:A},{45:122,85:93,86:v,87:E,89:k,90:A},{45:123,85:93,86:v,87:E,89:k,90:A},{45:124,85:93,86:v,87:E,89:k,90:A},{45:125,85:93,86:v,87:E,89:k,90:A},{45:126,85:93,86:v,87:E,89:k,90:A},{45:127,85:93,86:v,87:E,89:k,90:A},{30:128,39:58,40:70,42:71,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,53:32,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt},{15:[1,130],43:[1,129]},{45:131,85:93,86:v,87:E,89:k,90:A},{45:132,85:93,86:v,87:E,89:k,90:A},{45:133,85:93,86:v,87:E,89:k,90:A},{45:134,85:93,86:v,87:E,89:k,90:A},{45:135,85:93,86:v,87:E,89:k,90:A},{45:136,85:93,86:v,87:E,89:k,90:A},{45:137,85:93,86:v,87:E,89:k,90:A},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},e(fe,[2,9]),{14:142,21:d},{21:[2,13]},{1:[2,15]},e(Nt,[2,22]),e($t,[2,24],{31:31,29:143,32:p,33:C,34:T,36:R,38:D}),e(Nt,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:p,33:C,34:T,36:R,38:D,44:L,46:Y,47:Q,48:H,49:q,50:G,51:K,54:J,55:Z,56:$,57:tt,58:et,59:it,60:nt,61:st,62:at,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt,75:_t,76:xt,77:mt,78:vt,79:Et,80:kt,81:At,82:Ct,83:wt,84:Tt}),e(It,[2,28]),e(It,[2,29]),e(w,[2,46]),e(pe,[2,78],{85:93,45:145,86:v,87:E,89:k,90:A}),e(zt,[2,80]),{88:[1,146]},e(zt,[2,82]),e(zt,[2,83]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,59]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),e(w,[2,71]),e(w,[2,72]),e(w,[2,73]),e(w,[2,74]),e(w,[2,75]),e(w,[2,76]),e(w,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},e(Dt,[2,35]),e(Dt,[2,36]),e(Dt,[2,37]),e(Dt,[2,38]),e(Dt,[2,39]),e(Dt,[2,40]),e(Dt,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},e($t,[2,25]),e(Nt,[2,45]),e(pe,[2,79]),e(zt,[2,81]),e(w,[2,31]),e(w,[2,42]),e(te,[2,32]),e(te,[2,33],{15:[1,152]}),e(fe,[2,10]),e(te,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],O=[null],h=[],Vt=this.table,f="",Pt=0,ye=0,Ne=2,ge=1,Be=h.slice.call(arguments,1),S=Object.create(this.lexer),Mt={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(Mt.yy[ne]=this.yy[ne]);S.setInput(_,Mt.yy),Mt.yy.lexer=S,Mt.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var se=S.yylloc;h.push(se);var Ye=S.options&&S.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var X;return X=g.pop()||S.lex()||ge,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,Lt,N,ae,Bt={},Xt,z,be,Wt;;){if(Lt=m[m.length-1],this.defaultActions[Lt]?N=this.defaultActions[Lt]:((M===null||typeof M>"u")&&(M=Ie()),N=Vt[Lt]&&Vt[Lt][M]),typeof N>"u"||!N.length||!N[0]){var re="";Wt=[];for(Xt in Vt[Lt])this.terminals_[Xt]&&Xt>Ne&&Wt.push("'"+this.terminals_[Xt]+"'");S.showPosition?re="Parse error on line "+(Pt+1)+`: `+S.showPosition()+` Expecting `+Wt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":re="Parse error on line "+(Pt+1)+": Unexpected "+(M==ge?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(re,{text:S.match,token:this.terminals_[M]||M,line:S.yylineno,loc:se,expected:Wt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Lt+", token: "+M);switch(N[0]){case 1:m.push(M),O.push(S.yytext),h.push(S.yylloc),m.push(N[1]),M=null,ye=S.yyleng,f=S.yytext,Pt=S.yylineno,se=S.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Bt.$=O[O.length-z],Bt._$={first_line:h[h.length-(z||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(z||1)].first_column,last_column:h[h.length-1].last_column},Ye&&(Bt._$.range=[h[h.length-(z||1)].range[0],h[h.length-1].range[1]]),ae=this.performAction.apply(Bt,[f,ye,Pt,Mt.yy,N[1],O,h].concat(Be)),typeof ae<"u")return ae;z&&(m=m.slice(0,-1*z*2),O=O.slice(0,-1*z),h=h.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),O.push(Bt.$),h.push(Bt._$),be=Vt[m[m.length-2]][m[m.length-1]],m.push(be);break;case 3:return!0}}return!0}},Le=function(){var Ot={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` diff --git a/_nuxt/classDiagram-634fc78b.2c65684e.js b/_nuxt/classDiagram-634fc78b.3ad17352.js similarity index 92% rename from _nuxt/classDiagram-634fc78b.2c65684e.js rename to _nuxt/classDiagram-634fc78b.3ad17352.js index e8396ae282..4f857880e5 100644 --- a/_nuxt/classDiagram-634fc78b.2c65684e.js +++ b/_nuxt/classDiagram-634fc78b.3ad17352.js @@ -1 +1 @@ -import{p as W,d as M,s as H}from"./styles-16907e1b.4469fafb.js";import{c as S,l as d,i as u,j as X}from"./mermaid.core.6d8597df.js";import{G as Y,l as Z}from"./layout.e490e9ef.js";import{s as l}from"./svgDraw-2526cba0.08c6d93d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./line.dc626553.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";let h={};const g=20,p=function(e){const s=Object.entries(h).find(k=>k[1].label===e);if(s)return s[0]},$=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},D=function(e,s,k,a){const c=S().class;h={},d.info("Rendering diagram "+e);const L=S().securityLevel;let y;L==="sandbox"&&(y=u("#i"+s));const x=L==="sandbox"?u(y.nodes()[0].contentDocument.body):u("body"),n=x.select(`[id='${s}']`);$(n);const r=new Y({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=a.db.getClasses(),N=Object.keys(m);for(const t of N){const o=m[t],i=l.drawClass(n,o,c,a);h[i.id]=i,r.setNode(i.id,i),d.info("Org height: "+i.height)}a.db.getRelations().forEach(function(t){d.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),a.db.getNotes().forEach(function(t){d.debug(`Adding note: ${JSON.stringify(t)}`);const o=l.drawNote(n,t,c,a);h[o.id]=o,r.setNode(o.id,o),t.class&&t.class in m&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),Z(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(d.debug("Node "+t+": "+JSON.stringify(r.node(t))),x.select("#"+(a.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(d.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),l.drawEdge(n,r.edge(t),r.edge(t).relation,c,a))});const f=n.node().getBBox(),E=f.width+g*2,b=f.height+g*2;X(n,b,E,c.useMaxWidth);const w=`${f.x-g} ${f.y-g} ${E} ${b}`;d.debug(`viewBox ${w}`),n.attr("viewBox",w)},B={draw:D},z={parser:W,db:M,renderer:B,styles:H,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()}};export{z as diagram}; +import{p as W,d as M,s as H}from"./styles-16907e1b.a9f67e6d.js";import{c as S,l as d,i as u,j as X}from"./mermaid.core.bd97f718.js";import{G as Y,l as Z}from"./layout.11303474.js";import{s as l}from"./svgDraw-2526cba0.1cdd2cec.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./line.2cebc606.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";let h={};const g=20,p=function(e){const s=Object.entries(h).find(k=>k[1].label===e);if(s)return s[0]},$=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},D=function(e,s,k,a){const c=S().class;h={},d.info("Rendering diagram "+e);const L=S().securityLevel;let y;L==="sandbox"&&(y=u("#i"+s));const x=L==="sandbox"?u(y.nodes()[0].contentDocument.body):u("body"),n=x.select(`[id='${s}']`);$(n);const r=new Y({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=a.db.getClasses(),N=Object.keys(m);for(const t of N){const o=m[t],i=l.drawClass(n,o,c,a);h[i.id]=i,r.setNode(i.id,i),d.info("Org height: "+i.height)}a.db.getRelations().forEach(function(t){d.info("tjoho"+p(t.id1)+p(t.id2)+JSON.stringify(t)),r.setEdge(p(t.id1),p(t.id2),{relation:t},t.title||"DEFAULT")}),a.db.getNotes().forEach(function(t){d.debug(`Adding note: ${JSON.stringify(t)}`);const o=l.drawNote(n,t,c,a);h[o.id]=o,r.setNode(o.id,o),t.class&&t.class in m&&r.setEdge(t.id,p(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),Z(r),r.nodes().forEach(function(t){t!==void 0&&r.node(t)!==void 0&&(d.debug("Node "+t+": "+JSON.stringify(r.node(t))),x.select("#"+(a.db.lookUpDomId(t)||t)).attr("transform","translate("+(r.node(t).x-r.node(t).width/2)+","+(r.node(t).y-r.node(t).height/2)+" )"))}),r.edges().forEach(function(t){t!==void 0&&r.edge(t)!==void 0&&(d.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r.edge(t))),l.drawEdge(n,r.edge(t),r.edge(t).relation,c,a))});const f=n.node().getBBox(),E=f.width+g*2,b=f.height+g*2;X(n,b,E,c.useMaxWidth);const w=`${f.x-g} ${f.y-g} ${E} ${b}`;d.debug(`viewBox ${w}`),n.attr("viewBox",w)},B={draw:D},z={parser:W,db:M,renderer:B,styles:H,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()}};export{z as diagram}; diff --git a/_nuxt/classDiagram-v2-72bddc41.71367038.js b/_nuxt/classDiagram-v2-72bddc41.a5e950e0.js similarity index 90% rename from _nuxt/classDiagram-v2-72bddc41.71367038.js rename to _nuxt/classDiagram-v2-72bddc41.a5e950e0.js index e71b079798..f6ddb1302f 100644 --- a/_nuxt/classDiagram-v2-72bddc41.71367038.js +++ b/_nuxt/classDiagram-v2-72bddc41.a5e950e0.js @@ -1,2 +1,2 @@ -import{p as _,d as k,s as M}from"./styles-16907e1b.4469fafb.js";import{l as p,c as a,i as w,z as R,u as B,t as C,p as D,q as G,n as E}from"./mermaid.core.6d8597df.js";import{G as I}from"./layout.e490e9ef.js";import{r as $}from"./index-5219d011.c6c2c006.js";import"./createText-1f5f8f92.2cd7eed0.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./edges-2e77835f.ce02d1cb.js";import"./svgDraw-2526cba0.08c6d93d.js";import"./line.dc626553.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const A=s=>E.sanitizeText(s,a());let S={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const z=function(s,o,f,n){const e=Object.keys(s);p.info("keys:",e),p.info(s),e.forEach(function(i){var l,r;const t=s[i];let y="";t.cssClasses.length>0&&(y=y+" "+t.cssClasses.join(" "));const c={labelStyle:"",style:""},m=t.label??t.id,d=0,u="class_box",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),classData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.domId,tooltip:n.db.getTooltip(t.id)||"",haveCallback:t.haveCallback,link:t.link,width:t.type==="group"?500:void 0,type:t.type,padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};o.setNode(t.id,b),p.info("setNode",b)})},q=function(s,o,f,n){p.info(s),s.forEach(function(e,i){var l,r;const t=e,y="",c={labelStyle:"",style:""},m=t.text,d=0,u="note",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),noteData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.id,tooltip:"",type:"note",padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};if(o.setNode(t.id,b),p.info("setNode",b),!t.class||!(t.class in n))return;const v=f+i,g={id:`edgeNote${v}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:C(S.curve,D)};o.setEdge(t.id,t.class,g,v)})},F=function(s,o){const f=a().flowchart;let n=0;s.forEach(function(e){var i;n++;const l={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:L(e.relation.type1),arrowTypeEnd:L(e.relation.type2),style:"fill:none",labelStyle:"",curve:C(f==null?void 0:f.curve,D)};if(p.info(l,e),e.style!==void 0){const r=G(e.style);l.style=r.style,l.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",((i=a().flowchart)==null?void 0:i.htmlLabels)??a().htmlLabels?(l.labelType="html",l.label=''+e.text+""):(l.labelType="text",l.label=e.text.replace(E.lineBreakRegex,` +import{p as _,d as k,s as M}from"./styles-16907e1b.a9f67e6d.js";import{l as p,c as a,i as w,z as R,u as B,t as C,p as D,q as G,n as E}from"./mermaid.core.bd97f718.js";import{G as I}from"./layout.11303474.js";import{r as $}from"./index-5219d011.3b2aa214.js";import"./createText-1f5f8f92.9af55188.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./edges-2e77835f.ec894958.js";import"./svgDraw-2526cba0.1cdd2cec.js";import"./line.2cebc606.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const A=s=>E.sanitizeText(s,a());let S={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const z=function(s,o,f,n){const e=Object.keys(s);p.info("keys:",e),p.info(s),e.forEach(function(i){var l,r;const t=s[i];let y="";t.cssClasses.length>0&&(y=y+" "+t.cssClasses.join(" "));const c={labelStyle:"",style:""},m=t.label??t.id,d=0,u="class_box",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),classData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.domId,tooltip:n.db.getTooltip(t.id)||"",haveCallback:t.haveCallback,link:t.link,width:t.type==="group"?500:void 0,type:t.type,padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};o.setNode(t.id,b),p.info("setNode",b)})},q=function(s,o,f,n){p.info(s),s.forEach(function(e,i){var l,r;const t=e,y="",c={labelStyle:"",style:""},m=t.text,d=0,u="note",b={labelStyle:c.labelStyle,shape:u,labelText:A(m),noteData:t,rx:d,ry:d,class:y,style:c.style,id:t.id,domId:t.id,tooltip:"",type:"note",padding:((l=a().flowchart)==null?void 0:l.padding)??((r=a().class)==null?void 0:r.padding)};if(o.setNode(t.id,b),p.info("setNode",b),!t.class||!(t.class in n))return;const v=f+i,g={id:`edgeNote${v}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:C(S.curve,D)};o.setEdge(t.id,t.class,g,v)})},F=function(s,o){const f=a().flowchart;let n=0;s.forEach(function(e){var i;n++;const l={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:L(e.relation.type1),arrowTypeEnd:L(e.relation.type2),style:"fill:none",labelStyle:"",curve:C(f==null?void 0:f.curve,D)};if(p.info(l,e),e.style!==void 0){const r=G(e.style);l.style=r.style,l.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",((i=a().flowchart)==null?void 0:i.htmlLabels)??a().htmlLabels?(l.labelType="html",l.label=''+e.text+""):(l.labelType="text",l.label=e.text.replace(E.lineBreakRegex,` `),e.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),o.setEdge(e.id1,e.id2,l,n)})},H=function(s){S={...S,...s}},P=function(s,o,f,n){p.info("Drawing class - ",o);const e=a().flowchart??a().class,i=a().securityLevel;p.info("config:",e);const l=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,t=new I({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:l,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=n.db.getClasses(),c=n.db.getRelations(),m=n.db.getNotes();p.info(c),z(y,t,o,n),F(c,t),q(m,t,c.length+1,y);let d;i==="sandbox"&&(d=w("#i"+o));const u=i==="sandbox"?w(d.nodes()[0].contentDocument.body):w("body"),b=u.select(`[id="${o}"]`),v=u.select("#"+o+" g");if($(v,t,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",o),R.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,n.db.getDiagramTitle()),B(t,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const g=i==="sandbox"?d.nodes()[0].contentDocument:document,N=g.querySelectorAll('[id="'+o+'"] .edgeLabel .label');for(const x of N){const T=x.getBBox(),h=g.createElementNS("http://www.w3.org/2000/svg","rect");h.setAttribute("rx",0),h.setAttribute("ry",0),h.setAttribute("width",T.width),h.setAttribute("height",T.height),x.insertBefore(h,x.firstChild)}}};function L(s){let o;switch(s){case 0:o="aggregation";break;case 1:o="extension";break;case 2:o="composition";break;case 3:o="dependency";break;case 4:o="lollipop";break;default:o="none"}return o}const V={setConf:H,draw:P},le={parser:_,db:k,renderer:V,styles:M,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,k.clear()}};export{le as diagram}; diff --git a/_nuxt/client-db.489138a3.js b/_nuxt/client-db.cf635550.js similarity index 99% rename from _nuxt/client-db.489138a3.js rename to _nuxt/client-db.cf635550.js index 31a8cc296e..7fbf015497 100644 --- a/_nuxt/client-db.489138a3.js +++ b/_nuxt/client-db.cf635550.js @@ -1 +1 @@ -import{ah as _,aU as W,aV as j,aW as E,aX as B,aY as T,aZ as $,a_ as P,a$ as x,aw as J,af as k,l as M,b0 as H,ai as N,aG as b,j as G}from"./entry.8cfa8efb.js";import{c as q}from"./_commonjsHelpers.725317a4.js";const Z="memory",F=()=>{const r=new Map;return{name:Z,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function V(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function p(r,...t){try{return V(r(...t))}catch(n){return Promise.reject(n)}}function X(r){const t=typeof r;return r===null||t!=="object"&&t!=="function"}function Q(r){const t=Object.getPrototypeOf(r);return!t||t.isPrototypeOf(Object)}function K(r){if(X(r))return String(r);if(Q(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return K(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Y(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const C="base64:";function ee(r){if(typeof r=="string")return r;Y();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(Y(),Buffer.from(r.slice(C.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(r,t){if(t=A(t),!t)return r;const n={...r};for(const a of re)n[a]=(l="",...u)=>r[a](t+l,...u);return n.getKeys=(a="",...l)=>r.getKeys(t+a,...l).then(u=>u.map(o=>o.slice(t.length))),n}function d(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...r){return d(r.join(":"))}function A(r){return r=d(r),r?r+":":""}const ae="memory",se=()=>{const r=new Map;return{name:ae,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function oe(r={}){const t={mounts:{"":r.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),l=(e,i)=>{if(t.watching){i=d(i);for(const s of t.watchListeners)s(e,i)}},u=async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await D(t.mounts[e],l,e)}},o=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},h=(e,i,s)=>{const c=new Map,f=m=>{let y=c.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},c.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...c.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(c=>({key:c.relativeKey,options:c.options})),i).then(c=>c.map(f=>({key:ie(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(c=>p(s.driver.getItem,c.relativeKey,c.options).then(f=>({key:c.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return c.getItemRaw?p(c.getItemRaw,s,i):p(c.getItem,s,i).then(f=>te(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:c,driver:f}=n(e);f.setItem&&(await p(f.setItem,c,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{s.driver.setItems&&await p(s.driver.setItems,s.items.map(c=>({key:c.relativeKey,value:K(c.value),options:c.options})),i),s.driver.setItem&&await Promise.all(s.items.map(c=>p(s.driver.setItem,c.relativeKey,K(c.value),c.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:c,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,c,i,s);else if(f.setItem)await p(f.setItem,c,ee(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:c}=n(e);c.removeItem&&(await p(c.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(c.removeItem,s+"$",i),c.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:c}=n(e),f=Object.create(null);if(c.getMeta&&Object.assign(f,await p(c.getMeta,s,i)),!i.nativeOnly){const m=await p(c.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let c=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!c.some(I=>w.startsWith(I)));f.push(...v),c=[m.mountpoint,...c.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const c=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(c.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>L(e)))},async watch(e){return await u(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(i=>i!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((s,c)=>c.length-s.length)),t.mounts[e]=i,t.watching&&Promise.resolve(D(i,l,e)).then(s=>{t.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await L(t.mounts[e]),t.mountpoints=t.mountpoints.filter(s=>s!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(c=>({driver:c.driver,base:c.mountpoint}))}};return g}function D(r,t,n){return r.watch?r.watch((a,l)=>t(a,n+l)):()=>{}}async function L(r){typeof r.dispose=="function"&&await p(r.dispose)}function ue(r={}){const t=ce(n,r.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?t.$eq(a,l):Object.keys(l||{}).every(u=>{const o=l[u];if(u.startsWith("$")&&t[u]){const h=t[u];return typeof h=="function"?h(a,o):!1}return n(W(a,u),o)})}return n}function ce(r,t={}){return{$match:(n,a)=>r(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!r(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>r(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>r(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?r(n,{$contains:l}):r(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...t||{}}}function le(r){const t=ue(),n=(u,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=u.findIndex(c=>t(c,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((c,f)=>u[i-h+f+ +(f>=h)]||null)},a=[(u,o)=>{const h=u.result.filter(g=>E(o.where).every(e=>t(g,e)));return{...u,result:h,total:h.length}},(u,o)=>E(o.sort).forEach(h=>T(u.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(x(h.only))(i),o.surround=i}return o}],l=[(u,o)=>{if(o.skip)return{...u,result:u.result.slice(o.skip),skip:o.skip}},(u,o)=>{if(o.limit)return{...u,result:u.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const c=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path),f=g.find(m=>m._path===J(c,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}return o},(u,o)=>({...u,result:$(P(o.without))(u.result)}),(u,o)=>({...u,result:$(x(o.only))(u.result)})];return async u=>{const o=await r(),h=u.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,c)=>c(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,c)=>c(s,h,o)||s,e);return h.first?{...B(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(r){const t=le(r);return async n=>{var u;const a=n.params(),l=await t(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(u=l.dirConfig)==null?void 0:u._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var fe={exports:{}};(function(r,t){(function(n,a,l){r.exports=l(),r.exports.default=l()})("slugify",q,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(u,o){if(typeof u!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=u.normalize().split("").reduce(function(s,c){var f=h[c];return f===void 0&&(f=n[c]),f===void 0&&(f=c),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(u){Object.assign(n,u)},l})})(fe);const me=r=>r.split(/[\s-]/g).map(k).join(" ");function he(r,t){const{navigation:n}=M().public.content,a=u=>({...pe(["title",...n.fields])(u),...de(u==null?void 0:u.navigation)?u.navigation:{}}),l=r.sort((u,o)=>u._path.localeCompare(o._path)).reduce((u,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=t[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return u;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(u.push(s),u):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=t[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},u).push(s),u)},[]);return z(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function z(r){var n;const t=r.sort((a,l)=>ge.compare(a._file,l._file));for(const a of t)(n=a.children)!=null&&n.length?z(a.children):delete a.children,delete a._file;return r}function pe(r){return t=>(t=t||{},r&&r.length?r.filter(n=>typeof t[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:t[a]}),{}):t)}function de(r){return Object.prototype.toString.call(r)==="[object Object]"}const ye=r=>b(r,M().public.content.api.baseURL),we=ne(oe({driver:F()}),"@content");function ve(r){async function t(){const n=new Set(await r.getKeys("cache:")),a=N().getPreviewToken();if(a){const u=await r.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(u.ignoreSources)){const g=u.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await r.getKeys(`${a}:`),h=await Promise.all(o.map(g=>r.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(u=>r.getItem(u)))}return{storage:r,fetch:U(t),query:n=>H(U(t),{initialParams:n,legacy:!0})}}let R=null,S=null;async function Ie(){return S?await S:R||(S=Ae(),R=await S),R}async function Ae(){const r=G(),{content:t}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(t.integrity!==+(a||0)){const{contents:l,navigation:u}=await $fetch(ye(t.integrity?`cache.${t.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",u),await n.storage.setItem("integrity",t.integrity)}return await r.callHook("content:storage",n.storage),n}async function _e(r){const t=await Ie();if(!N().getPreviewToken()&&Object.keys(r||{}).length===0)return t.storage.getItem("navigation");const n=await t.query(r).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await t.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((u,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return u[h]={...o,...o.body},u},{});return he(n,l)}export{we as contentStorage,ve as createDB,_e as generateNavigation,Ie as useContentDatabase}; +import{ah as _,aU as W,aV as j,aW as E,aX as B,aY as T,aZ as $,a_ as P,a$ as x,aw as J,af as k,l as M,b0 as H,ai as N,aG as b,j as G}from"./entry.363473ce.js";import{c as q}from"./_commonjsHelpers.725317a4.js";const Z="memory",F=()=>{const r=new Map;return{name:Z,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function V(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function p(r,...t){try{return V(r(...t))}catch(n){return Promise.reject(n)}}function X(r){const t=typeof r;return r===null||t!=="object"&&t!=="function"}function Q(r){const t=Object.getPrototypeOf(r);return!t||t.isPrototypeOf(Object)}function K(r){if(X(r))return String(r);if(Q(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return K(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Y(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const C="base64:";function ee(r){if(typeof r=="string")return r;Y();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(Y(),Buffer.from(r.slice(C.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(r,t){if(t=A(t),!t)return r;const n={...r};for(const a of re)n[a]=(l="",...u)=>r[a](t+l,...u);return n.getKeys=(a="",...l)=>r.getKeys(t+a,...l).then(u=>u.map(o=>o.slice(t.length))),n}function d(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...r){return d(r.join(":"))}function A(r){return r=d(r),r?r+":":""}const ae="memory",se=()=>{const r=new Map;return{name:ae,options:{},hasItem(t){return r.has(t)},getItem(t){return r.get(t)||null},getItemRaw(t){return r.get(t)||null},setItem(t,n){r.set(t,n)},setItemRaw(t,n){r.set(t,n)},removeItem(t){r.delete(t)},getKeys(){return Array.from(r.keys())},clear(){r.clear()},dispose(){r.clear()}}};function oe(r={}){const t={mounts:{"":r.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),l=(e,i)=>{if(t.watching){i=d(i);for(const s of t.watchListeners)s(e,i)}},u=async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await D(t.mounts[e],l,e)}},o=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},h=(e,i,s)=>{const c=new Map,f=m=>{let y=c.get(m.base);return y||(y={driver:m.driver,base:m.base,items:[]},c.set(m.base,y)),y};for(const m of e){const y=typeof m=="string",v=d(y?m:m.key),w=y?void 0:m.value,I=y||!m.options?i:{...i,...m.options},O=n(v);f(O).items.push({key:v,value:w,relativeKey:O.relativeKey,options:I})}return Promise.all([...c.values()].map(m=>s(m))).then(m=>m.flat())},g={hasItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.hasItem,s,i)},getItem(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return p(c.getItem,s,i).then(f=>_(f))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(c=>({key:c.relativeKey,options:c.options})),i).then(c=>c.map(f=>({key:ie(s.base,f.key),value:_(f.value)}))):Promise.all(s.items.map(c=>p(s.driver.getItem,c.relativeKey,c.options).then(f=>({key:c.key,value:_(f)})))))},getItemRaw(e,i={}){e=d(e);const{relativeKey:s,driver:c}=n(e);return c.getItemRaw?p(c.getItemRaw,s,i):p(c.getItem,s,i).then(f=>te(f))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=d(e);const{relativeKey:c,driver:f}=n(e);f.setItem&&(await p(f.setItem,c,K(i),s),f.watch||l("update",e))},async setItems(e,i){await h(e,i,async s=>{s.driver.setItems&&await p(s.driver.setItems,s.items.map(c=>({key:c.relativeKey,value:K(c.value),options:c.options})),i),s.driver.setItem&&await Promise.all(s.items.map(c=>p(s.driver.setItem,c.relativeKey,K(c.value),c.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=d(e);const{relativeKey:c,driver:f}=n(e);if(f.setItemRaw)await p(f.setItemRaw,c,i,s);else if(f.setItem)await p(f.setItem,c,ee(i),s);else return;f.watch||l("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=d(e);const{relativeKey:s,driver:c}=n(e);c.removeItem&&(await p(c.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(c.removeItem,s+"$",i),c.watch||l("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=d(e);const{relativeKey:s,driver:c}=n(e),f=Object.create(null);if(c.getMeta&&Object.assign(f,await p(c.getMeta,s,i)),!i.nativeOnly){const m=await p(c.getItem,s+"$",i).then(y=>_(y));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=A(e);const s=a(e,!0);let c=[];const f=[];for(const m of s){const v=(await p(m.driver.getKeys,m.relativeBase,i)).map(w=>m.mountpoint+d(w)).filter(w=>!c.some(I=>w.startsWith(I)));f.push(...v),c=[m.mountpoint,...c.filter(w=>!w.startsWith(m.mountpoint))]}return e?f.filter(m=>m.startsWith(e)&&!m.endsWith("$")):f.filter(m=>!m.endsWith("$"))},async clear(e,i={}){e=A(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const c=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(c.map(f=>s.driver.removeItem(f,i)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>L(e)))},async watch(e){return await u(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(i=>i!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,i){if(e=A(e),e&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((s,c)=>c.length-s.length)),t.mounts[e]=i,t.watching&&Promise.resolve(D(i,l,e)).then(s=>{t.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=A(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await L(t.mounts[e]),t.mountpoints=t.mountpoints.filter(s=>s!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=d(e),a(e,i.parents).map(c=>({driver:c.driver,base:c.mountpoint}))}};return g}function D(r,t,n){return r.watch?r.watch((a,l)=>t(a,n+l)):()=>{}}async function L(r){typeof r.dispose=="function"&&await p(r.dispose)}function ue(r={}){const t=ce(n,r.operators);function n(a,l){return typeof l!="object"||l instanceof RegExp?t.$eq(a,l):Object.keys(l||{}).every(u=>{const o=l[u];if(u.startsWith("$")&&t[u]){const h=t[u];return typeof h=="function"?h(a,o):!1}return n(W(a,u),o)})}return n}function ce(r,t={}){return{$match:(n,a)=>r(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!r(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(l=>r(n,l))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(l=>r(n,l))),$in:(n,a)=>E(a).some(l=>Array.isArray(n)?r(n,{$contains:l}):r(n,l)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),E(a).every(l=>n.includes(l))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),E(a).every(l=>n.includes(l.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(l=>n.includes(l))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const l=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=l?new RegExp(l[1],l[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...t||{}}}function le(r){const t=ue(),n=(u,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=u.findIndex(c=>t(c,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((c,f)=>u[i-h+f+ +(f>=h)]||null)},a=[(u,o)=>{const h=u.result.filter(g=>E(o.where).every(e=>t(g,e)));return{...u,result:h,total:h.length}},(u,o)=>E(o.sort).forEach(h=>T(u.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(x(h.only))(i),o.surround=i}return o}],l=[(u,o)=>{if(o.skip)return{...u,result:u.result.slice(o.skip),skip:o.skip}},(u,o)=>{if(o.limit)return{...u,result:u.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const c=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path),f=g.find(m=>m._path===J(c,"_dir"));f&&(o.dirConfig={_path:f._path,...P(["_"])(f)})}return o},(u,o)=>({...u,result:$(P(o.without))(u.result)}),(u,o)=>({...u,result:$(x(o.only))(u.result)})];return async u=>{const o=await r(),h=u.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,c)=>c(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=l.reduce((s,c)=>c(s,h,o)||s,e);return h.first?{...B(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(r){const t=le(r);return async n=>{var u;const a=n.params(),l=await t(n);return a.surround?l==null?void 0:l.surround:(l!=null&&l.dirConfig&&(l.result={_path:(u=l.dirConfig)==null?void 0:u._path,...l.result,_dir:l.dirConfig}),l==null?void 0:l.result)}}var fe={exports:{}};(function(r,t){(function(n,a,l){r.exports=l(),r.exports.default=l()})("slugify",q,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function l(u,o){if(typeof u!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=u.normalize().split("").reduce(function(s,c){var f=h[c];return f===void 0&&(f=n[c]),f===void 0&&(f=c),f===g&&(f=" "),s+f.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return l.extend=function(u){Object.assign(n,u)},l})})(fe);const me=r=>r.split(/[\s-]/g).map(k).join(" ");function he(r,t){const{navigation:n}=M().public.content,a=u=>({...pe(["title",...n.fields])(u),...de(u==null?void 0:u.navigation)?u.navigation:{}}),l=r.sort((u,o)=>u._path.localeCompare(o._path)).reduce((u,o)=>{const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!g[g.length-1].match(/([1-9][0-9]*\.)?index.md/g),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=t[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return u;if(o._path!=="/"){const m=i(o);s.children.push(m)}Object.assign(s,a(f))}return h.length===1?(u.push(s),u):(h.slice(0,-1).reduce((f,m,y)=>{const v="/"+h.slice(0,y+1).join("/"),w=t[v];if(typeof(w==null?void 0:w.navigation)<"u"&&!w.navigation)return[];let I=f.find(O=>O._path===v);return I||(I={title:me(m),_path:v,_file:o._file,children:[],...a(w)},f.push(I)),I.children},u).push(s),u)},[]);return z(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function z(r){var n;const t=r.sort((a,l)=>ge.compare(a._file,l._file));for(const a of t)(n=a.children)!=null&&n.length?z(a.children):delete a.children,delete a._file;return r}function pe(r){return t=>(t=t||{},r&&r.length?r.filter(n=>typeof t[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:t[a]}),{}):t)}function de(r){return Object.prototype.toString.call(r)==="[object Object]"}const ye=r=>b(r,M().public.content.api.baseURL),we=ne(oe({driver:F()}),"@content");function ve(r){async function t(){const n=new Set(await r.getKeys("cache:")),a=N().getPreviewToken();if(a){const u=await r.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(u.ignoreSources)){const g=u.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await r.getKeys(`${a}:`),h=await Promise.all(o.map(g=>r.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(u=>r.getItem(u)))}return{storage:r,fetch:U(t),query:n=>H(U(t),{initialParams:n,legacy:!0})}}let R=null,S=null;async function Ie(){return S?await S:R||(S=Ae(),R=await S),R}async function Ae(){const r=G(),{content:t}=M().public,n=ve(we),a=await n.storage.getItem("integrity");if(t.integrity!==+(a||0)){const{contents:l,navigation:u}=await $fetch(ye(t.integrity?`cache.${t.integrity}.json`:"cache.json"));await Promise.all(l.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",u),await n.storage.setItem("integrity",t.integrity)}return await r.callHook("content:storage",n.storage),n}async function _e(r){const t=await Ie();if(!N().getPreviewToken()&&Object.keys(r||{}).length===0)return t.storage.getItem("navigation");const n=await t.query(r).where({_partial:!1,navigation:{$ne:!1}}).find(),l=(await t.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((u,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return u[h]={...o,...o.body},u},{});return he(n,l)}export{we as contentStorage,ve as createDB,_e as generateNavigation,Ie as useContentDatabase}; diff --git a/_nuxt/component-v2.05f6057d.js b/_nuxt/component-v2.4f123e31.js similarity index 95% rename from _nuxt/component-v2.05f6057d.js rename to _nuxt/component-v2.4f123e31.js index 581c95b79c..168521e2c0 100644 --- a/_nuxt/component-v2.05f6057d.js +++ b/_nuxt/component-v2.4f123e31.js @@ -1 +1 @@ -import{ao as b,r as v,ap as K,aq as C,ar as g,as as x,K as y,a5 as D}from"./entry.8cfa8efb.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function R({root:r=v(),options:f={}}){const e=b(),n=v(),t=K(),a=x(),s=x(),u=x(),l=C(r),i=v("init");return g(l,async p=>{const d=await t.render(p,{...f,sitekey:e,callback:a.trigger,"expired-callback":s.trigger,"error-callback":u.trigger});n.value=d}),a.on(()=>{i.value="verified"}),s.on(()=>{i.value="expired"}),u.on(()=>{i.value="error"}),{root:l,widgetID:n,execute(){typeof n.value<"u"&&t.execute(n.value)},reset(){i.value="init",typeof n.value<"u"&&t.reset(n.value)},state:i,onVerify:a.on,onExpired:s.on,onError:u.on}}function q(r,f,e){const{root:n,state:t,widgetID:a,onError:s,onExpired:u,onVerify:l,reset:i,execute:p}=R({options:r||{}}),d=y(()=>t.value===c.Expired),V=y(()=>t.value===c.Error),w=y(()=>t.value===c.Verified);return g(a,o=>{e("load",o),e("update:widgetId",o)}),D(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",a.value)}),s(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:n,widgetID:a,state:t,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){i(),k()}function k(){e("update:modelValue",null)}}export{c as R,q as u}; +import{ao as b,r as v,ap as K,aq as C,ar as g,as as x,K as y,a5 as D}from"./entry.363473ce.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function R({root:r=v(),options:f={}}){const e=b(),n=v(),t=K(),a=x(),s=x(),u=x(),l=C(r),i=v("init");return g(l,async p=>{const d=await t.render(p,{...f,sitekey:e,callback:a.trigger,"expired-callback":s.trigger,"error-callback":u.trigger});n.value=d}),a.on(()=>{i.value="verified"}),s.on(()=>{i.value="expired"}),u.on(()=>{i.value="error"}),{root:l,widgetID:n,execute(){typeof n.value<"u"&&t.execute(n.value)},reset(){i.value="init",typeof n.value<"u"&&t.reset(n.value)},state:i,onVerify:a.on,onExpired:s.on,onError:u.on}}function q(r,f,e){const{root:n,state:t,widgetID:a,onError:s,onExpired:u,onVerify:l,reset:i,execute:p}=R({options:r||{}}),d=y(()=>t.value===c.Expired),V=y(()=>t.value===c.Error),w=y(()=>t.value===c.Verified);return g(a,o=>{e("load",o),e("update:widgetId",o)}),D(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",a.value)}),s(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:n,widgetID:a,state:t,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){i(),k()}function k(){e("update:modelValue",null)}}export{c as R,q as u}; diff --git a/_nuxt/createText-1f5f8f92.2cd7eed0.js b/_nuxt/createText-1f5f8f92.9af55188.js similarity index 99% rename from _nuxt/createText-1f5f8f92.2cd7eed0.js rename to _nuxt/createText-1f5f8f92.9af55188.js index bceef69561..08752273af 100644 --- a/_nuxt/createText-1f5f8f92.2cd7eed0.js +++ b/_nuxt/createText-1f5f8f92.9af55188.js @@ -1,4 +1,4 @@ -import{l as lt,$ as ut}from"./mermaid.core.6d8597df.js";var it=/\r\n?/g,ot=/\t/g,ct=/\f/g,J=function(t){return t.replace(it,` +import{l as lt,$ as ut}from"./mermaid.core.bd97f718.js";var it=/\r\n?/g,ot=/\t/g,ct=/\f/g,J=function(t){return t.replace(it,` `).replace(ct,"").replace(ot," ")},Q=function(t,e){var r=t||{};if(e!=null)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r},V=function(t,e){var r=Object.keys(t).filter(function(i){var u=t[i];if(u==null||u.match==null)return!1;var c=u.order;return(typeof c!="number"||!isFinite(c))&&typeof console<"u"&&console.warn("simple-markdown: Invalid order for rule `"+i+"`: "+String(c)),!0});r.sort(function(i,u){var c=t[i],f=t[u],s=c.order,p=f.order;if(s!==p)return s-p;var h=c.quality?0:1,g=f.quality?0:1;return h!==g?h-g:iu?1:0});var a,l=function i(u,c){var f=[];for(c=c||a,a=c;u;){var s=null,p=null,h=null,g=NaN,S=0,x=r[0],y=t[x];do{var E=y.order,b=c.prevCapture==null?"":c.prevCapture[0],k=y.match(u,c,b);if(k){var A=y.quality?y.quality(k,c,b):0;A<=g||(s=x,p=y,h=k,g=A)}S++,x=r[S],y=t[x]}while(y&&(!h||y.order===E&&y.quality));if(p==null||h==null)throw new Error("Could not find a matching rule for the below content. The rule with highest `order` should always match content provided to it. Check the definition of `match` for '"+r[r.length-1]+`'. It seems to not match the following source: `+u);if(h.index)throw new Error("`match` must return a capture starting at index 0 (the current parse index). Did you forget a ^ at the start of the RegExp?");var w=p.parse(h,i,c);if(Array.isArray(w))Array.prototype.push.apply(f,w);else{if(w==null||typeof w!="object")throw new Error("parse() function returned invalid parse result: '".concat(w,"'"));w.type==null&&(w.type=s),f.push(w)}c.prevCapture=h,u=u.substring(c.prevCapture[0].length)}return f},o=function(u,c){return a=Q(c,e),!a.inline&&!a.disableAutoBlockNewlines&&(u=u+` diff --git a/_nuxt/debug.cb4eef07.js b/_nuxt/debug.b592e5b6.js similarity index 89% rename from _nuxt/debug.cb4eef07.js rename to _nuxt/debug.b592e5b6.js index 3bd4822dc2..1677170622 100644 --- a/_nuxt/debug.cb4eef07.js +++ b/_nuxt/debug.b592e5b6.js @@ -1,2 +1,2 @@ -import{B as a}from"./entry.8cfa8efb.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` +import{B as a}from"./entry.363473ce.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` `)),i||(a(()=>{console.log("🖌️ Pinceau `runtime` encountered some errors!"),o.forEach(r=>{console.log(r)}),console.log("‼️ This warning will be hidden from production and can be disabled using `dev: false` option.")}),i=!0)};t.onNotFound=s}export{d as usePinceauRuntimeDebug}; diff --git a/_nuxt/default.972a2835.js b/_nuxt/default.972a2835.js new file mode 100644 index 0000000000..9899fa35c4 --- /dev/null +++ b/_nuxt/default.972a2835.js @@ -0,0 +1 @@ +import e from"./DocsPageLayout.7eba96e1.js";import{m as r}from"./mermaid.core.bd97f718.js";import{d as a,o as m,Y as i,w as n,b as p,ab as s}from"./entry.363473ce.js";import"./DocsAside.bdbf484f.js";import"./ProseCodeInline.9c9d33d7.js";import"./DocsPageBottom.b0b9f9d3.js";import"./ProseA.3b23d1db.js";import"./EditOnLink.vue.2bb154e2.js";import"./DocsPrevNext.989e1fbe.js";import"./DocsToc.1f359282.js";import"./DocsTocLinks.133b0863.js";import"./_commonjsHelpers.725317a4.js";const M=a({__name:"default",setup(u){return m(()=>{r.initialize({startOnLoad:!0,theme:"forest",flowchart:{useMaxWidth:!0}})}),(t,_)=>{const o=e;return p(),i(o,null,{default:n(()=>[s(t.$slots,"default")]),_:3})}}});export{M as default}; diff --git a/_nuxt/default.c3a17007.js b/_nuxt/default.c3a17007.js deleted file mode 100644 index 6ddd95bba0..0000000000 --- a/_nuxt/default.c3a17007.js +++ /dev/null @@ -1 +0,0 @@ -import e from"./DocsPageLayout.0dafd259.js";import{m as r}from"./mermaid.core.6d8597df.js";import{d as a,o as m,Y as i,w as n,b as p,ab as s}from"./entry.8cfa8efb.js";import"./DocsAside.86314fc7.js";import"./ProseCodeInline.b8352ab0.js";import"./DocsPageBottom.2edd582e.js";import"./ProseA.1e07e3b7.js";import"./EditOnLink.vue.5b1c415a.js";import"./DocsPrevNext.7f7ab9fd.js";import"./DocsToc.fca90c35.js";import"./DocsTocLinks.70fbf435.js";import"./_commonjsHelpers.725317a4.js";const M=a({__name:"default",setup(u){return m(()=>{r.initialize({startOnLoad:!0,theme:"forest",flowchart:{useMaxWidth:!0}})}),(t,_)=>{const o=e;return p(),i(o,null,{default:n(()=>[s(t.$slots,"default")]),_:3})}}});export{M as default}; diff --git a/_nuxt/document-driven.eda7789d.js b/_nuxt/document-driven.380c4d19.js similarity index 84% rename from _nuxt/document-driven.eda7789d.js rename to _nuxt/document-driven.380c4d19.js index 4402b71afc..41f1c7c2fd 100644 --- a/_nuxt/document-driven.eda7789d.js +++ b/_nuxt/document-driven.380c4d19.js @@ -1 +1 @@ -import h from"./DocumentDrivenEmpty.a7380757.js";import L from"./ContentRenderer.301e652b.js";import R from"./DocumentDrivenNotFound.9e790dc8.js";import{j as g,d as c,I as x,P as C,s as b,J as k,K as B,L as u,r as N,M as y,N as S,O as T,Q as l,T as j,R as A,B as w,S as D,U as E,V as O,l as H,W as $,X as q,c as I,g as f,w as _,b as d,Y as v}from"./entry.8cfa8efb.js";import"./ContentRendererMarkdown.vue.498723d7.js";import"./ButtonLink.be07cd74.js";const M=c({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(o,n){const e=await y[o.name]().then(t=>t.default||t);return()=>l(e,o.layoutProps,n.slots)}}),V=c({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(o,n){const e=g(),t=x(C),a=t===b()?k():t,s=B(()=>u(o.name)??a.meta.layout??"default"),r=N();n.expose({layoutRef:r});const m=e.deferHydration();return()=>{const p=s.value&&s.value in y,i=a.meta.layoutTransition??S;return T(j,p&&i,{default:()=>l(D,{suspensible:!0,onResolve:()=>{w(m)}},{default:()=>l(F,{layoutProps:A(n.attrs,{ref:r}),key:s.value,name:s.value,shouldProvide:!o.name,hasTransition:!!i},n.slots)})}).default()}}}),F=c({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(o,n){const e=o.name;return o.shouldProvide&&E(O,{isCurrent:t=>e===(t.meta.layout??"default")}),()=>{var t,a;return!e||typeof e=="string"&&!(e in y)?(a=(t=n.slots).default)==null?void 0:a.call(t):l(M,{key:e,layoutProps:o.layoutProps,name:e},n.slots)}}}),J={class:"document-driven-page"},z=c({__name:"document-driven",setup(o){const{contentHead:n}=H().public.content,{page:e,layout:t}=$();return e.value,n&&q(e),(a,s)=>{const r=h,m=L,p=R,i=V;return d(),I("div",J,[f(i,{name:u(t)||"default"},{default:_(()=>[u(e)?(d(),v(m,{key:u(e)._id,value:u(e)},{empty:_(({value:P})=>[f(r,{value:P},null,8,["value"])]),_:1},8,["value"])):(d(),v(p,{key:1}))]),_:1},8,["name"])])}}});export{z as default}; +import h from"./DocumentDrivenEmpty.379fad62.js";import L from"./ContentRenderer.a1404e70.js";import R from"./DocumentDrivenNotFound.d21cbdd8.js";import{j as g,d as c,I as x,P as C,s as b,J as k,K as B,L as u,r as N,M as y,N as S,O as T,Q as l,T as j,R as A,B as w,S as D,U as E,V as O,l as H,W as $,X as q,c as I,g as f,w as _,b as d,Y as v}from"./entry.363473ce.js";import"./ContentRendererMarkdown.vue.fe8f4dc4.js";import"./ButtonLink.8382d34b.js";const M=c({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(o,n){const e=await y[o.name]().then(t=>t.default||t);return()=>l(e,o.layoutProps,n.slots)}}),V=c({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(o,n){const e=g(),t=x(C),a=t===b()?k():t,s=B(()=>u(o.name)??a.meta.layout??"default"),r=N();n.expose({layoutRef:r});const m=e.deferHydration();return()=>{const p=s.value&&s.value in y,i=a.meta.layoutTransition??S;return T(j,p&&i,{default:()=>l(D,{suspensible:!0,onResolve:()=>{w(m)}},{default:()=>l(F,{layoutProps:A(n.attrs,{ref:r}),key:s.value,name:s.value,shouldProvide:!o.name,hasTransition:!!i},n.slots)})}).default()}}}),F=c({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(o,n){const e=o.name;return o.shouldProvide&&E(O,{isCurrent:t=>e===(t.meta.layout??"default")}),()=>{var t,a;return!e||typeof e=="string"&&!(e in y)?(a=(t=n.slots).default)==null?void 0:a.call(t):l(M,{key:e,layoutProps:o.layoutProps,name:e},n.slots)}}}),J={class:"document-driven-page"},z=c({__name:"document-driven",setup(o){const{contentHead:n}=H().public.content,{page:e,layout:t}=$();return e.value,n&&q(e),(a,s)=>{const r=h,m=L,p=R,i=V;return d(),I("div",J,[f(i,{name:u(t)||"default"},{default:_(()=>[u(e)?(d(),v(m,{key:u(e)._id,value:u(e)},{empty:_(({value:P})=>[f(r,{value:P},null,8,["value"])]),_:1},8,["value"])):(d(),v(p,{key:1}))]),_:1},8,["name"])])}}});export{z as default}; diff --git a/_nuxt/edges-2e77835f.ce02d1cb.js b/_nuxt/edges-2e77835f.ec894958.js similarity index 99% rename from _nuxt/edges-2e77835f.ce02d1cb.js rename to _nuxt/edges-2e77835f.ec894958.js index 4d215753a2..404716c58c 100644 --- a/_nuxt/edges-2e77835f.ce02d1cb.js +++ b/_nuxt/edges-2e77835f.ec894958.js @@ -1,4 +1,4 @@ -import{r as R,c as w,d as z,$ as D,i as L,l as y,z as U,a3 as Q}from"./mermaid.core.6d8597df.js";import{c as P}from"./createText-1f5f8f92.2cd7eed0.js";import{p as V}from"./svgDraw-2526cba0.08c6d93d.js";import{l as et}from"./line.dc626553.js";const st=(r,t,e,l)=>{t.forEach(a=>{bt[a](r,e,l)})},it=(r,t,e)=>{y.trace("Making markers for ",e),r.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},lt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},nt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ct=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ht=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},ot=(r,t)=>{r.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ft=(r,t)=>{r.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(r,t)=>{r.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},bt={extension:it,composition:lt,aggregation:nt,dependency:ct,lollipop:ht,point:ot,circle:ft,cross:pt,barb:dt},Kt=st;function xt(r,t){t&&r.attr("style",t)}function yt(r){const t=L(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),l=r.label,a=r.isNode?"nodeLabel":"edgeLabel";return e.html('"+l+""),xt(e,r.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const gt=(r,t,e,l)=>{let a=r||"";if(typeof a=="object"&&(a=a[0]),R(w().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
"),y.info("vertexText"+a);const s={isNode:l,label:D(a).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return yt(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let i=[];typeof a=="string"?i=a.split(/\\n|\n|/gi):Array.isArray(a)?i=a:i=[];for(const n of i){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),e?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),s.appendChild(c)}return s}},T=gt,S=(r,t,e,l)=>{let a;const s=t.useHtmlLabels||R(w().flowchart.htmlLabels);e?a=e:a="node default";const i=r.insert("g").attr("class",a).attr("id",t.domId||t.id),n=i.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=P(n,z(D(c),w()),{useHtmlLabels:s,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(T(z(D(c),w()),t.labelStyle,!1,l));let f=h.getBBox();if(R(w().flowchart.htmlLabels)){const p=h.children[0],d=L(h);f=p.getBoundingClientRect(),d.attr("width",f.width),d.attr("height",f.height)}const b=t.padding/2;return s?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:i,bbox:f,halfPadding:b,label:n}},m=(r,t)=>{const e=t.node().getBBox();r.width=e.width,r.height=e.height};function _(r,t,e,l){return r.insert("polygon",":first-child").attr("points",l.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function ut(r,t){return r.intersect(t)}function tt(r,t,e,l){var a=r.x,s=r.y,i=a-l.x,n=s-l.y,c=Math.sqrt(t*t*n*n+e*e*i*i),o=Math.abs(t*e*i/c);l.x0}function kt(r,t,e){var l=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){i=Math.min(i,d.x),n=Math.min(n,d.y)}):(i=Math.min(i,t.x),n=Math.min(n,t.y));for(var c=l-r.width/2-i,o=a-r.height/2-n,h=0;h1&&s.sort(function(d,x){var g=d.x-e.x,k=d.y-e.y,H=Math.sqrt(g*g+k*k),$=x.x-e.x,B=x.y-e.y,X=Math.sqrt($*$+B*B);return H{var e=r.x,l=r.y,a=t.x-e,s=t.y-l,i=r.width/2,n=r.height/2,c,o;return Math.abs(s)*i>Math.abs(a)*n?(s<0&&(n=-n),c=s===0?0:n*a/s,o=n):(a<0&&(i=-i),c=i,o=a===0?0:i*s/a),{x:e+c,y:l+o}},Lt=vt,u={node:ut,circle:wt,ellipse:tt,polygon:kt,rect:Lt},St=(r,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:a,halfPadding:s}=S(r,t,"node "+t.classes,!0);y.info("Classes = ",t.classes);const i=l.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-s).attr("y",-a.height/2-s).attr("width",a.width+t.padding).attr("height",a.height+t.padding),m(t,i),t.intersect=function(n){return u.rect(t,n)},l},Et=St,q=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=a+s,n=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];y.info("Question main (Circle)");const c=_(e,i,i,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return y.warn("Intersect called"),u.polygon(t,n,o)},e},Bt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,a=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return e.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(i){return u.circle(t,14,i)},e},Mt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=4,s=l.height+t.padding,i=s/a,n=l.width+2*i+t.padding,c=[{x:i,y:0},{x:n-i,y:0},{x:n,y:-s/2},{x:n-i,y:-s},{x:i,y:-s},{x:0,y:-s/2}],o=_(e,n,s,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return u.polygon(t,c,h)},e},Ct=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return _(e,a,s,i).attr("style",t.style),t.width=a+s,t.height=s,t.intersect=function(c){return u.polygon(t,i,c)},e},Tt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Rt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Ht=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},It=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},_t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},$t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=a/2,i=s/(2.5+a/50),n=l.height+i+t.padding,c="M 0,"+i+" a "+s+","+i+" 0,0,0 "+a+" 0 a "+s+","+i+" 0,0,0 "+-a+" 0 l 0,"+n+" a "+s+","+i+" 0,0,0 "+a+" 0 l 0,"+-n,o=e.attr("label-offset-y",i).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-a/2+","+-(n/2+i)+")");return m(t,o),t.intersect=function(h){const f=u.rect(t,h),b=f.x-t.x;if(s!=0&&(Math.abs(b)t.height/2-i)){let p=i*i*(1-b*b/(s*s));p!=0&&(p=Math.sqrt(p)),p=i-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},e},Nt=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,"node "+t.classes,!0),s=e.insert("rect",":first-child"),i=l.width+t.padding,n=l.height+t.padding;if(s.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-a).attr("y",-l.height/2-a).attr("width",i).attr("height",n),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(rt(s,t.props.borders,i,n),c.delete("borders")),c.forEach(o=>{y.warn(`Unknown node property ${o}`)})}return m(t,s),t.intersect=function(c){return u.rect(t,c)},e},Wt=(r,t)=>{const{shapeSvg:e}=S(r,t,"label",!0);y.trace("Classes = ",t.classes);const l=e.insert("rect",":first-child"),a=0,s=0;if(l.attr("width",a).attr("height",s),e.attr("class","label edgeLabel"),t.props){const i=new Set(Object.keys(t.props));t.props.borders&&(rt(l,t.props.borders,a,s),i.delete("borders")),i.forEach(n=>{y.warn(`Unknown node property ${n}`)})}return m(t,l),t.intersect=function(i){return u.rect(t,i)},e};function rt(r,t,e,l){const a=[],s=n=>{a.push(n,0)},i=n=>{a.push(0,n)};t.includes("t")?(y.debug("add top border"),s(e)):i(e),t.includes("r")?(y.debug("add right border"),s(l)):i(l),t.includes("b")?(y.debug("add bottom border"),s(e)):i(e),t.includes("l")?(y.debug("add left border"),s(l)):i(l),r.attr("stroke-dasharray",a.join(" "))}const Xt=(r,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const l=r.insert("g").attr("class",e).attr("id",t.domId||t.id),a=l.insert("rect",":first-child"),s=l.insert("line"),i=l.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,y.info("Label text abc79",c,n,typeof n=="object");const o=i.node().appendChild(T(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(R(w().flowchart.htmlLabels)){const x=o.children[0],g=L(o);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}y.info("Text 2",n);const f=n.slice(1,n.length);let b=o.getBBox();const p=i.node().appendChild(T(f.join?f.join("
"):f,t.labelStyle,!0,!0));if(R(w().flowchart.htmlLabels)){const x=p.children[0],g=L(p);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const d=t.padding/2;return L(p).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+d+5)+")"),L(o).attr("transform","translate( "+(h.width{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.height+t.padding,s=l.width+a/4+t.padding,i=e.insert("rect",":first-child").attr("style",t.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return m(t,i),t.intersect=function(n){return u.rect(t,n)},e},Ut=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=e.insert("circle",":first-child");return s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("Circle main"),m(t,s),t.intersect=function(i){return y.info("Circle intersect",t,l.width/2+a,i),u.circle(t,l.width/2+a,i)},e},At=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=5,i=e.insert("g",":first-child"),n=i.insert("circle"),c=i.insert("circle");return n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a+s).attr("width",l.width+t.padding+s*2).attr("height",l.height+t.padding+s*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return y.info("DoubleCircle intersect",t,l.width/2+a+s,o),u.circle(t,l.width/2+a+s,o)},e},Ot=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},jt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(a){return u.circle(t,7,a)},e},F=(r,t,e)=>{const l=r.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a=70,s=10;e==="LR"&&(a=10,s=70);const i=l.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join");return m(t,i),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return u.rect(t,n)},l},Dt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child"),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,a),t.intersect=function(s){return u.circle(t,7,s)},e},Zt=(r,t)=>{const e=t.padding/2,l=4,a=8;let s;t.classes?s="node "+t.classes:s="node default";const i=r.insert("g").attr("class",s).attr("id",t.domId||t.id),n=i.insert("rect",":first-child"),c=i.insert("line"),o=i.insert("line");let h=0,f=l;const b=i.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],x=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=b.node().appendChild(T(x,t.labelStyle,!0,!0));let k=g.getBBox();if(R(w().flowchart.htmlLabels)){const E=g.children[0],M=L(g);k=E.getBoundingClientRect(),M.attr("width",k.width),M.attr("height",k.height)}t.classData.annotations[0]&&(f+=k.height+l,h+=k.width);let H=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?H+="<"+t.classData.type+">":H+="<"+t.classData.type+">");const $=b.node().appendChild(T(H,t.labelStyle,!0,!0));L($).attr("class","classTitle");let B=$.getBBox();if(R(w().flowchart.htmlLabels)){const E=$.children[0],M=L($);B=E.getBoundingClientRect(),M.attr("width",B.width),M.attr("height",B.height)}f+=B.height+l,B.width>h&&(h=B.width);const X=[];t.classData.members.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,X.push(I)}),f+=a;const Z=[];if(t.classData.methods.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,Z.push(I)}),f+=a,d){let E=(h-k.width)/2;L(g).attr("transform","translate( "+(-1*h/2+E)+", "+-1*f/2+")"),p=k.height+l}let at=(h-B.width)/2;return L($).attr("transform","translate( "+(-1*h/2+at)+", "+(-1*f/2+p)+")"),p+=B.height+l,c.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,X.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+a/2)+")"),p+=B.height+l}),p+=a,o.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,Z.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")"),p+=B.height+l}),n.attr("class","outer title-state").attr("x",-h/2-e).attr("y",-(f/2)-e).attr("width",h+t.padding).attr("height",f+t.padding),m(t,n),t.intersect=function(E){return u.rect(t,E)},i},K={rhombus:q,question:q,rect:Nt,labelRect:Wt,rectWithTitle:Xt,choice:Bt,circle:Ut,doublecircle:At,stadium:Yt,hexagon:Mt,rect_left_inv_arrow:Ct,lean_right:Tt,lean_left:Rt,trapezoid:Ht,inv_trapezoid:It,rect_right_inv_arrow:_t,cylinder:$t,start:jt,end:Dt,note:Et,subroutine:Ot,fork:F,join:F,class_box:Zt};let W={};const Gt=(r,t,e)=>{let l,a;if(t.link){let s;w().securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),l=r.insert("svg:a").attr("xlink:href",t.link).attr("target",s),a=K[t.shape](l,t,e)}else a=K[t.shape](r,t,e),l=a;return t.tooltip&&a.attr("title",t.tooltip),t.class&&a.attr("class","node default "+t.class),W[t.id]=l,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),l},Pt=(r,t)=>{W[t.id]=r},tr=()=>{W={}},rr=r=>{const t=W[r.id];y.trace("Transforming node",r.diff,r,"translate("+(r.x-r.width/2-5)+", "+r.width/2+")");const e=8,l=r.diff||0;return r.clusterNode?t.attr("transform","translate("+(r.x+l-r.width/2)+", "+(r.y-r.height/2-e)+")"):t.attr("transform","translate("+r.x+", "+r.y+")"),l};let O={},v={};const ar=()=>{O={},v={}},er=(r,t)=>{const e=R(w().flowchart.htmlLabels),l=t.labelType==="markdown"?P(r,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):T(t.label,t.labelStyle);y.info("abc82",t,t.labelType);const a=r.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(l);let i=l.getBBox();if(e){const c=l.children[0],o=L(l);i=c.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}s.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),O[t.id]=a,t.width=i.width,t.height=i.height;let n;if(t.startLabelLeft){const c=T(t.startLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startLeft=o,A(n,t.startLabelLeft)}if(t.startLabelRight){const c=T(t.startLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startRight=o,A(n,t.startLabelRight)}if(t.endLabelLeft){const c=T(t.endLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endLeft=o,A(n,t.endLabelLeft)}if(t.endLabelRight){const c=T(t.endLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endRight=o,A(n,t.endLabelRight)}return l};function A(r,t){w().flowchart.htmlLabels&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}const sr=(r,t)=>{y.info("Moving label abc78 ",r.id,r.label,O[r.id]);let e=t.updatedPath?t.updatedPath:t.originalPath;if(r.label){const l=O[r.id];let a=r.x,s=r.y;if(e){const i=U.calcLabelPosition(e);y.info("Moving label "+r.label+" from (",a,",",s,") to (",i.x,",",i.y,") abc78"),t.updatedPath&&(a=i.x,s=i.y)}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelLeft){const l=v[r.id].startLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelRight){const l=v[r.id].startRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelLeft){const l=v[r.id].endLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelRight){const l=v[r.id].endRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}},zt=(r,t)=>{const e=r.x,l=r.y,a=Math.abs(t.x-e),s=Math.abs(t.y-l),i=r.width/2,n=r.height/2;return a>=i||s>=n},Qt=(r,t,e)=>{y.warn(`intersection calc abc89: +import{r as R,c as w,d as z,$ as D,i as L,l as y,z as U,a3 as Q}from"./mermaid.core.bd97f718.js";import{c as P}from"./createText-1f5f8f92.9af55188.js";import{p as V}from"./svgDraw-2526cba0.1cdd2cec.js";import{l as et}from"./line.2cebc606.js";const st=(r,t,e,l)=>{t.forEach(a=>{bt[a](r,e,l)})},it=(r,t,e)=>{y.trace("Making markers for ",e),r.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},lt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},nt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ct=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ht=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},ot=(r,t)=>{r.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ft=(r,t)=>{r.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(r,t)=>{r.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},dt=(r,t)=>{r.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},bt={extension:it,composition:lt,aggregation:nt,dependency:ct,lollipop:ht,point:ot,circle:ft,cross:pt,barb:dt},Kt=st;function xt(r,t){t&&r.attr("style",t)}function yt(r){const t=L(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),l=r.label,a=r.isNode?"nodeLabel":"edgeLabel";return e.html('"+l+""),xt(e,r.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const gt=(r,t,e,l)=>{let a=r||"";if(typeof a=="object"&&(a=a[0]),R(w().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
"),y.info("vertexText"+a);const s={isNode:l,label:D(a).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return yt(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let i=[];typeof a=="string"?i=a.split(/\\n|\n|/gi):Array.isArray(a)?i=a:i=[];for(const n of i){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),e?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),s.appendChild(c)}return s}},T=gt,S=(r,t,e,l)=>{let a;const s=t.useHtmlLabels||R(w().flowchart.htmlLabels);e?a=e:a="node default";const i=r.insert("g").attr("class",a).attr("id",t.domId||t.id),n=i.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=P(n,z(D(c),w()),{useHtmlLabels:s,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(T(z(D(c),w()),t.labelStyle,!1,l));let f=h.getBBox();if(R(w().flowchart.htmlLabels)){const p=h.children[0],d=L(h);f=p.getBoundingClientRect(),d.attr("width",f.width),d.attr("height",f.height)}const b=t.padding/2;return s?n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):n.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:i,bbox:f,halfPadding:b,label:n}},m=(r,t)=>{const e=t.node().getBBox();r.width=e.width,r.height=e.height};function _(r,t,e,l){return r.insert("polygon",":first-child").attr("points",l.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function ut(r,t){return r.intersect(t)}function tt(r,t,e,l){var a=r.x,s=r.y,i=a-l.x,n=s-l.y,c=Math.sqrt(t*t*n*n+e*e*i*i),o=Math.abs(t*e*i/c);l.x0}function kt(r,t,e){var l=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){i=Math.min(i,d.x),n=Math.min(n,d.y)}):(i=Math.min(i,t.x),n=Math.min(n,t.y));for(var c=l-r.width/2-i,o=a-r.height/2-n,h=0;h1&&s.sort(function(d,x){var g=d.x-e.x,k=d.y-e.y,H=Math.sqrt(g*g+k*k),$=x.x-e.x,B=x.y-e.y,X=Math.sqrt($*$+B*B);return H{var e=r.x,l=r.y,a=t.x-e,s=t.y-l,i=r.width/2,n=r.height/2,c,o;return Math.abs(s)*i>Math.abs(a)*n?(s<0&&(n=-n),c=s===0?0:n*a/s,o=n):(a<0&&(i=-i),c=i,o=a===0?0:i*s/a),{x:e+c,y:l+o}},Lt=vt,u={node:ut,circle:wt,ellipse:tt,polygon:kt,rect:Lt},St=(r,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:a,halfPadding:s}=S(r,t,"node "+t.classes,!0);y.info("Classes = ",t.classes);const i=l.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-s).attr("y",-a.height/2-s).attr("width",a.width+t.padding).attr("height",a.height+t.padding),m(t,i),t.intersect=function(n){return u.rect(t,n)},l},Et=St,q=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=a+s,n=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];y.info("Question main (Circle)");const c=_(e,i,i,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return y.warn("Intersect called"),u.polygon(t,n,o)},e},Bt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,a=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return e.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(i){return u.circle(t,14,i)},e},Mt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=4,s=l.height+t.padding,i=s/a,n=l.width+2*i+t.padding,c=[{x:i,y:0},{x:n-i,y:0},{x:n,y:-s/2},{x:n-i,y:-s},{x:i,y:-s},{x:0,y:-s/2}],o=_(e,n,s,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return u.polygon(t,c,h)},e},Ct=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return _(e,a,s,i).attr("style",t.style),t.width=a+s,t.height=s,t.intersect=function(c){return u.polygon(t,i,c)},e},Tt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Rt=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},Ht=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},It=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},_t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},$t=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=a/2,i=s/(2.5+a/50),n=l.height+i+t.padding,c="M 0,"+i+" a "+s+","+i+" 0,0,0 "+a+" 0 a "+s+","+i+" 0,0,0 "+-a+" 0 l 0,"+n+" a "+s+","+i+" 0,0,0 "+a+" 0 l 0,"+-n,o=e.attr("label-offset-y",i).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-a/2+","+-(n/2+i)+")");return m(t,o),t.intersect=function(h){const f=u.rect(t,h),b=f.x-t.x;if(s!=0&&(Math.abs(b)t.height/2-i)){let p=i*i*(1-b*b/(s*s));p!=0&&(p=Math.sqrt(p)),p=i-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},e},Nt=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,"node "+t.classes,!0),s=e.insert("rect",":first-child"),i=l.width+t.padding,n=l.height+t.padding;if(s.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-a).attr("y",-l.height/2-a).attr("width",i).attr("height",n),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(rt(s,t.props.borders,i,n),c.delete("borders")),c.forEach(o=>{y.warn(`Unknown node property ${o}`)})}return m(t,s),t.intersect=function(c){return u.rect(t,c)},e},Wt=(r,t)=>{const{shapeSvg:e}=S(r,t,"label",!0);y.trace("Classes = ",t.classes);const l=e.insert("rect",":first-child"),a=0,s=0;if(l.attr("width",a).attr("height",s),e.attr("class","label edgeLabel"),t.props){const i=new Set(Object.keys(t.props));t.props.borders&&(rt(l,t.props.borders,a,s),i.delete("borders")),i.forEach(n=>{y.warn(`Unknown node property ${n}`)})}return m(t,l),t.intersect=function(i){return u.rect(t,i)},e};function rt(r,t,e,l){const a=[],s=n=>{a.push(n,0)},i=n=>{a.push(0,n)};t.includes("t")?(y.debug("add top border"),s(e)):i(e),t.includes("r")?(y.debug("add right border"),s(l)):i(l),t.includes("b")?(y.debug("add bottom border"),s(e)):i(e),t.includes("l")?(y.debug("add left border"),s(l)):i(l),r.attr("stroke-dasharray",a.join(" "))}const Xt=(r,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const l=r.insert("g").attr("class",e).attr("id",t.domId||t.id),a=l.insert("rect",":first-child"),s=l.insert("line"),i=l.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,y.info("Label text abc79",c,n,typeof n=="object");const o=i.node().appendChild(T(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(R(w().flowchart.htmlLabels)){const x=o.children[0],g=L(o);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}y.info("Text 2",n);const f=n.slice(1,n.length);let b=o.getBBox();const p=i.node().appendChild(T(f.join?f.join("
"):f,t.labelStyle,!0,!0));if(R(w().flowchart.htmlLabels)){const x=p.children[0],g=L(p);h=x.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const d=t.padding/2;return L(p).attr("transform","translate( "+(h.width>b.width?0:(b.width-h.width)/2)+", "+(b.height+d+5)+")"),L(o).attr("transform","translate( "+(h.width{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.height+t.padding,s=l.width+a/4+t.padding,i=e.insert("rect",":first-child").attr("style",t.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return m(t,i),t.intersect=function(n){return u.rect(t,n)},e},Ut=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=e.insert("circle",":first-child");return s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("Circle main"),m(t,s),t.intersect=function(i){return y.info("Circle intersect",t,l.width/2+a,i),u.circle(t,l.width/2+a,i)},e},At=(r,t)=>{const{shapeSvg:e,bbox:l,halfPadding:a}=S(r,t,void 0,!0),s=5,i=e.insert("g",":first-child"),n=i.insert("circle"),c=i.insert("circle");return n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a+s).attr("width",l.width+t.padding+s*2).attr("height",l.height+t.padding+s*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+a).attr("width",l.width+t.padding).attr("height",l.height+t.padding),y.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return y.info("DoubleCircle intersect",t,l.width/2+a+s,o),u.circle(t,l.width/2+a+s,o)},e},Ot=(r,t)=>{const{shapeSvg:e,bbox:l}=S(r,t,void 0,!0),a=l.width+t.padding,s=l.height+t.padding,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],n=_(e,a,s,i);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return u.polygon(t,i,c)},e},jt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(a){return u.circle(t,7,a)},e},F=(r,t,e)=>{const l=r.insert("g").attr("class","node default").attr("id",t.domId||t.id);let a=70,s=10;e==="LR"&&(a=10,s=70);const i=l.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join");return m(t,i),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return u.rect(t,n)},l},Dt=(r,t)=>{const e=r.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=e.insert("circle",":first-child"),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,a),t.intersect=function(s){return u.circle(t,7,s)},e},Zt=(r,t)=>{const e=t.padding/2,l=4,a=8;let s;t.classes?s="node "+t.classes:s="node default";const i=r.insert("g").attr("class",s).attr("id",t.domId||t.id),n=i.insert("rect",":first-child"),c=i.insert("line"),o=i.insert("line");let h=0,f=l;const b=i.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],x=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=b.node().appendChild(T(x,t.labelStyle,!0,!0));let k=g.getBBox();if(R(w().flowchart.htmlLabels)){const E=g.children[0],M=L(g);k=E.getBoundingClientRect(),M.attr("width",k.width),M.attr("height",k.height)}t.classData.annotations[0]&&(f+=k.height+l,h+=k.width);let H=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?H+="<"+t.classData.type+">":H+="<"+t.classData.type+">");const $=b.node().appendChild(T(H,t.labelStyle,!0,!0));L($).attr("class","classTitle");let B=$.getBBox();if(R(w().flowchart.htmlLabels)){const E=$.children[0],M=L($);B=E.getBoundingClientRect(),M.attr("width",B.width),M.attr("height",B.height)}f+=B.height+l,B.width>h&&(h=B.width);const X=[];t.classData.members.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,X.push(I)}),f+=a;const Z=[];if(t.classData.methods.forEach(E=>{const M=V(E);let N=M.displayText;w().flowchart.htmlLabels&&(N=N.replace(//g,">"));const I=b.node().appendChild(T(N,M.cssStyle?M.cssStyle:t.labelStyle,!0,!0));let C=I.getBBox();if(R(w().flowchart.htmlLabels)){const j=I.children[0],Y=L(I);C=j.getBoundingClientRect(),Y.attr("width",C.width),Y.attr("height",C.height)}C.width>h&&(h=C.width),f+=C.height+l,Z.push(I)}),f+=a,d){let E=(h-k.width)/2;L(g).attr("transform","translate( "+(-1*h/2+E)+", "+-1*f/2+")"),p=k.height+l}let at=(h-B.width)/2;return L($).attr("transform","translate( "+(-1*h/2+at)+", "+(-1*f/2+p)+")"),p+=B.height+l,c.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,X.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+a/2)+")"),p+=B.height+l}),p+=a,o.attr("class","divider").attr("x1",-h/2-e).attr("x2",h/2+e).attr("y1",-f/2-e+a+p).attr("y2",-f/2-e+a+p),p+=a,Z.forEach(E=>{L(E).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")"),p+=B.height+l}),n.attr("class","outer title-state").attr("x",-h/2-e).attr("y",-(f/2)-e).attr("width",h+t.padding).attr("height",f+t.padding),m(t,n),t.intersect=function(E){return u.rect(t,E)},i},K={rhombus:q,question:q,rect:Nt,labelRect:Wt,rectWithTitle:Xt,choice:Bt,circle:Ut,doublecircle:At,stadium:Yt,hexagon:Mt,rect_left_inv_arrow:Ct,lean_right:Tt,lean_left:Rt,trapezoid:Ht,inv_trapezoid:It,rect_right_inv_arrow:_t,cylinder:$t,start:jt,end:Dt,note:Et,subroutine:Ot,fork:F,join:F,class_box:Zt};let W={};const Gt=(r,t,e)=>{let l,a;if(t.link){let s;w().securityLevel==="sandbox"?s="_top":t.linkTarget&&(s=t.linkTarget||"_blank"),l=r.insert("svg:a").attr("xlink:href",t.link).attr("target",s),a=K[t.shape](l,t,e)}else a=K[t.shape](r,t,e),l=a;return t.tooltip&&a.attr("title",t.tooltip),t.class&&a.attr("class","node default "+t.class),W[t.id]=l,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),l},Pt=(r,t)=>{W[t.id]=r},tr=()=>{W={}},rr=r=>{const t=W[r.id];y.trace("Transforming node",r.diff,r,"translate("+(r.x-r.width/2-5)+", "+r.width/2+")");const e=8,l=r.diff||0;return r.clusterNode?t.attr("transform","translate("+(r.x+l-r.width/2)+", "+(r.y-r.height/2-e)+")"):t.attr("transform","translate("+r.x+", "+r.y+")"),l};let O={},v={};const ar=()=>{O={},v={}},er=(r,t)=>{const e=R(w().flowchart.htmlLabels),l=t.labelType==="markdown"?P(r,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):T(t.label,t.labelStyle);y.info("abc82",t,t.labelType);const a=r.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(l);let i=l.getBBox();if(e){const c=l.children[0],o=L(l);i=c.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}s.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),O[t.id]=a,t.width=i.width,t.height=i.height;let n;if(t.startLabelLeft){const c=T(t.startLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startLeft=o,A(n,t.startLabelLeft)}if(t.startLabelRight){const c=T(t.startLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),v[t.id]||(v[t.id]={}),v[t.id].startRight=o,A(n,t.startLabelRight)}if(t.endLabelLeft){const c=T(t.endLabelLeft,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endLeft=o,A(n,t.endLabelLeft)}if(t.endLabelRight){const c=T(t.endLabelRight,t.labelStyle),o=r.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),v[t.id]||(v[t.id]={}),v[t.id].endRight=o,A(n,t.endLabelRight)}return l};function A(r,t){w().flowchart.htmlLabels&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}const sr=(r,t)=>{y.info("Moving label abc78 ",r.id,r.label,O[r.id]);let e=t.updatedPath?t.updatedPath:t.originalPath;if(r.label){const l=O[r.id];let a=r.x,s=r.y;if(e){const i=U.calcLabelPosition(e);y.info("Moving label "+r.label+" from (",a,",",s,") to (",i.x,",",i.y,") abc78"),t.updatedPath&&(a=i.x,s=i.y)}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelLeft){const l=v[r.id].startLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.startLabelRight){const l=v[r.id].startRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelLeft){const l=v[r.id].endLeft;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}if(r.endLabelRight){const l=v[r.id].endRight;let a=r.x,s=r.y;if(e){const i=U.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",e);a=i.x,s=i.y}l.attr("transform","translate("+a+", "+s+")")}},zt=(r,t)=>{const e=r.x,l=r.y,a=Math.abs(t.x-e),s=Math.abs(t.y-l),i=r.width/2,n=r.height/2;return a>=i||s>=n},Qt=(r,t,e)=>{y.warn(`intersection calc abc89: outsidePoint: ${JSON.stringify(t)} insidePoint : ${JSON.stringify(e)} node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);const l=r.x,a=r.y,s=Math.abs(l-e.x),i=r.width/2;let n=e.xMath.abs(l-t.x)*c){let f=e.y{y.warn("abc88 cutPathAtIntersect",r,t);let e=[],l=r[0],a=!1;return r.forEach(s=>{if(y.info("abc88 checking point",s,t),!zt(t,s)&&!a){const i=Qt(t,l,s);y.warn("abc88 inside",s,l,i),y.warn("abc88 intersection",i);let n=!1;e.forEach(c=>{n=n||c.x===i.x&&c.y===i.y}),e.some(c=>c.x===i.x&&c.y===i.y)?y.warn("abc88 no intersect",i,e):e.push(i),a=!0}else y.warn("abc88 outside",s,l),l=s,a||e.push(s)}),y.warn("abc88 returning points",e),e},ir=function(r,t,e,l,a,s){let i=e.points,n=!1;const c=s.node(t.v);var o=s.node(t.w);y.info("abc88 InsertEdge: ",e),o.intersect&&c.intersect&&(i=i.slice(1,e.points.length-1),i.unshift(c.intersect(i[0])),y.info("Last point",i[i.length-1],o,o.intersect(i[i.length-1])),i.push(o.intersect(i[i.length-1]))),e.toCluster&&(y.info("to cluster abc88",l[e.toCluster]),i=G(e.points,l[e.toCluster].node),n=!0),e.fromCluster&&(y.info("from cluster abc88",l[e.fromCluster]),i=G(i.reverse(),l[e.fromCluster].node).reverse(),n=!0);const h=i.filter(k=>!Number.isNaN(k.y));let f;a==="graph"||a==="flowchart"?f=e.curve||Q:f=Q;const b=et().x(function(k){return k.x}).y(function(k){return k.y}).curve(f);let p;switch(e.thickness){case"normal":p="edge-thickness-normal";break;case"thick":p="edge-thickness-thick";break;case"invisible":p="edge-thickness-thick";break;default:p=""}switch(e.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed";break}const d=r.append("path").attr("d",b(h)).attr("id",e.id).attr("class"," "+p+(e.classes?" "+e.classes:"")).attr("style",e.style);let x="";switch((w().flowchart.arrowMarkerAbsolute||w().state.arrowMarkerAbsolute)&&(x=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,x=x.replace(/\(/g,"\\("),x=x.replace(/\)/g,"\\)")),y.info("arrowTypeStart",e.arrowTypeStart),y.info("arrowTypeEnd",e.arrowTypeEnd),e.arrowTypeStart){case"arrow_cross":d.attr("marker-start","url("+x+"#"+a+"-crossStart)");break;case"arrow_point":d.attr("marker-start","url("+x+"#"+a+"-pointStart)");break;case"arrow_barb":d.attr("marker-start","url("+x+"#"+a+"-barbStart)");break;case"arrow_circle":d.attr("marker-start","url("+x+"#"+a+"-circleStart)");break;case"aggregation":d.attr("marker-start","url("+x+"#"+a+"-aggregationStart)");break;case"extension":d.attr("marker-start","url("+x+"#"+a+"-extensionStart)");break;case"composition":d.attr("marker-start","url("+x+"#"+a+"-compositionStart)");break;case"dependency":d.attr("marker-start","url("+x+"#"+a+"-dependencyStart)");break;case"lollipop":d.attr("marker-start","url("+x+"#"+a+"-lollipopStart)");break}switch(e.arrowTypeEnd){case"arrow_cross":d.attr("marker-end","url("+x+"#"+a+"-crossEnd)");break;case"arrow_point":d.attr("marker-end","url("+x+"#"+a+"-pointEnd)");break;case"arrow_barb":d.attr("marker-end","url("+x+"#"+a+"-barbEnd)");break;case"arrow_circle":d.attr("marker-end","url("+x+"#"+a+"-circleEnd)");break;case"aggregation":d.attr("marker-end","url("+x+"#"+a+"-aggregationEnd)");break;case"extension":d.attr("marker-end","url("+x+"#"+a+"-extensionEnd)");break;case"composition":d.attr("marker-end","url("+x+"#"+a+"-compositionEnd)");break;case"dependency":d.attr("marker-end","url("+x+"#"+a+"-dependencyEnd)");break;case"lollipop":d.attr("marker-end","url("+x+"#"+a+"-lollipopEnd)");break}let g={};return n&&(g.updatedPath=i),g.originalPath=e.points,g};export{Gt as a,er as b,ir as c,sr as d,tr as e,ar as f,T as g,Lt as h,Kt as i,S as l,rr as p,Pt as s,m as u}; diff --git a/_nuxt/entry.8cfa8efb.js b/_nuxt/entry.363473ce.js similarity index 95% rename from _nuxt/entry.8cfa8efb.js rename to _nuxt/entry.363473ce.js index aa1e7d6935..53b77de939 100644 --- a/_nuxt/entry.8cfa8efb.js +++ b/_nuxt/entry.363473ce.js @@ -1,10 +1,10 @@ function Di(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Te={},In=[],dt=()=>{},lh=()=>!1,uh=/^on[^a-z]/,Dr=e=>uh.test(e),Hi=e=>e.startsWith("onUpdate:"),$e=Object.assign,Fi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},fh=Object.prototype.hasOwnProperty,pe=(e,t)=>fh.call(e,t),re=Array.isArray,kn=e=>Hr(e)==="[object Map]",Wl=e=>Hr(e)==="[object Set]",dh=e=>Hr(e)==="[object RegExp]",ie=e=>typeof e=="function",xe=e=>typeof e=="string",Vo=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",ji=e=>(Ce(e)||ie(e))&&ie(e.then)&&ie(e.catch),ql=Object.prototype.toString,Hr=e=>ql.call(e),hh=e=>Hr(e).slice(8,-1),Ql=e=>Hr(e)==="[object Object]",Bi=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hr=Di(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ph=/-(\w)/g,wt=zo(e=>e.replace(ph,(t,n)=>n?n.toUpperCase():"")),mh=/\B([A-Z])/g,En=zo(e=>e.replace(mh,"-$1").toLowerCase()),Uo=zo(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=zo(e=>e?`on${Uo(e)}`:""),yn=(e,t)=>!Object.is(e,t),On=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Fs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Jl=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Na;const js=()=>Na||(Na=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qn(e){if(re(e)){const t={};for(let n=0;n{if(n){const r=n.split(yh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Fe(e){let t="";if(xe(e))t=e;else if(re(e))for(let n=0;nxe(e)?e:e==null?"":re(e)||Ce(e)&&(e.toString===ql||!ie(e.toString))?JSON.stringify(e,Yl,2):String(e),Yl=(e,t)=>t&&t.__v_isRef?Yl(e,t.value):kn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o])=>(n[`${r} =>`]=o,n),{})}:Wl(t)?{[`Set(${t.size})`]:[...t.values()]}:Ce(t)&&!re(t)&&!Ql(t)?String(t):t;let Ge;class Gl{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ge;try{return Ge=this,t()}finally{Ge=n}}}on(){Ge=this}off(){Ge=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Xl=e=>(e.w&Gt)>0,eu=e=>(e.n&Gt)>0,Ph=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(u==="length"||!Vo(u)&&u>=c)&&a.push(l)})}else switch(n!==void 0&&a.push(i.get(n)),t){case"add":re(e)?Bi(n)&&a.push(i.get("length")):(a.push(i.get(mn)),kn(e)&&a.push(i.get(Vs)));break;case"delete":re(e)||(a.push(i.get(mn)),kn(e)&&a.push(i.get(Vs)));break;case"set":kn(e)&&a.push(i.get(mn));break}if(a.length===1)a[0]&&zs(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);zs(Vi(c))}}function zs(e,t){const n=re(e)?e:[...e];for(const r of n)r.computed&&Ha(r);for(const r of n)r.computed||Ha(r)}function Ha(e,t){(e!==ut||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Ah(e,t){var n;return(n=_o.get(e))==null?void 0:n.get(t)}const Sh=Di("__proto__,__v_isRef,__isVue"),ru=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vo)),Fa=Rh();function Rh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=me(this);for(let s=0,i=this.length;s{e[t]=function(...n){Jn();const r=me(this)[t].apply(this,n);return Zn(),r}}),e}function Ih(e){const t=me(this);return Je(t,"has",e),t.hasOwnProperty(e)}class ou{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const o=this._isReadonly,s=this._shallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw"&&r===(o?s?zh:cu:s?au:iu).get(t))return t;const i=re(t);if(!o){if(i&&pe(Fa,n))return Reflect.get(Fa,n,r);if(n==="hasOwnProperty")return Ih}const a=Reflect.get(t,n,r);return(Vo(n)?ru.has(n):Sh(n))||(o||Je(t,"get",n),s)?a:Se(a)?i&&Bi(n)?a:a.value:Ce(a)?o?qo(a):tt(a):a}}class su extends ou{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(_n(s)&&Se(s)&&!Se(r))return!1;if(!this._shallow&&(!vo(r)&&!_n(r)&&(s=me(s),r=me(r)),!re(t)&&Se(s)&&!Se(r)))return s.value=r,!0;const i=re(t)&&Bi(n)?Number(n)e,Wo=e=>Reflect.getPrototypeOf(e);function Ur(e,t,n=!1,r=!1){e=e.__v_raw;const o=me(e),s=me(t);n||(yn(t,s)&&Je(o,"get",t),Je(o,"get",s));const{has:i}=Wo(o),a=r?Ui:n?qi:Cr;if(i.call(o,t))return a(e.get(t));if(i.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function Kr(e,t=!1){const n=this.__v_raw,r=me(n),o=me(e);return t||(yn(e,o)&&Je(r,"has",e),Je(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Wr(e,t=!1){return e=e.__v_raw,!t&&Je(me(e),"iterate",mn),Reflect.get(e,"size",e)}function ja(e){e=me(e);const t=me(this);return Wo(t).has.call(t,e)||(t.add(e),It(t,"add",e,e)),this}function Ba(e,t){t=me(t);const n=me(this),{has:r,get:o}=Wo(n);let s=r.call(n,e);s||(e=me(e),s=r.call(n,e));const i=o.call(n,e);return n.set(e,t),s?yn(t,i)&&It(n,"set",e,t):It(n,"add",e,t),this}function Va(e){const t=me(this),{has:n,get:r}=Wo(t);let o=n.call(t,e);o||(e=me(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&It(t,"delete",e,void 0),s}function za(){const e=me(this),t=e.size!==0,n=e.clear();return t&&It(e,"clear",void 0,void 0),n}function qr(e,t){return function(r,o){const s=this,i=s.__v_raw,a=me(i),c=t?Ui:e?qi:Cr;return!e&&Je(a,"iterate",mn),i.forEach((l,u)=>r.call(o,c(l),c(u),s))}}function Qr(e,t,n){return function(...r){const o=this.__v_raw,s=me(o),i=kn(s),a=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,l=o[e](...r),u=n?Ui:t?qi:Cr;return!t&&Je(s,"iterate",c?Vs:mn),{next(){const{value:f,done:d}=l.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function Ht(e){return function(...t){return e==="delete"?!1:this}}function Mh(){const e={get(s){return Ur(this,s)},get size(){return Wr(this)},has:Kr,add:ja,set:Ba,delete:Va,clear:za,forEach:qr(!1,!1)},t={get(s){return Ur(this,s,!1,!0)},get size(){return Wr(this)},has:Kr,add:ja,set:Ba,delete:Va,clear:za,forEach:qr(!1,!0)},n={get(s){return Ur(this,s,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!1)},r={get(s){return Ur(this,s,!0,!0)},get size(){return Wr(this,!0)},has(s){return Kr.call(this,s,!0)},add:Ht("add"),set:Ht("set"),delete:Ht("delete"),clear:Ht("clear"),forEach:qr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Qr(s,!1,!1),n[s]=Qr(s,!0,!1),t[s]=Qr(s,!1,!0),r[s]=Qr(s,!0,!0)}),[e,n,t,r]}const[Nh,Dh,Hh,Fh]=Mh();function Ki(e,t){const n=t?e?Fh:Hh:e?Dh:Nh;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(pe(n,o)&&o in r?n:r,o,s)}const jh={get:Ki(!1,!1)},Bh={get:Ki(!1,!0)},Vh={get:Ki(!0,!1)},iu=new WeakMap,au=new WeakMap,cu=new WeakMap,zh=new WeakMap;function Uh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Kh(e){return e.__v_skip||!Object.isExtensible(e)?0:Uh(hh(e))}function tt(e){return _n(e)?e:Wi(e,!1,Oh,jh,iu)}function Qt(e){return Wi(e,!1,$h,Bh,au)}function qo(e){return Wi(e,!0,Lh,Vh,cu)}function Wi(e,t,n,r,o){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Kh(e);if(i===0)return e;const a=new Proxy(e,i===2?r:n);return o.set(e,a),a}function Ln(e){return _n(e)?Ln(e.__v_raw):!!(e&&e.__v_isReactive)}function _n(e){return!!(e&&e.__v_isReadonly)}function vo(e){return!!(e&&e.__v_isShallow)}function lu(e){return Ln(e)||_n(e)}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function uu(e){return yo(e,"__v_skip",!0),e}const Cr=e=>Ce(e)?tt(e):e,qi=e=>Ce(e)?qo(e):e;function Qi(e){qt&&ut&&(e=me(e),nu(e.dep||(e.dep=Vi())))}function Ji(e,t){e=me(e);const n=e.dep;n&&zs(n)}function Se(e){return!!(e&&e.__v_isRef===!0)}function ce(e){return fu(e,!1)}function kt(e){return fu(e,!0)}function fu(e,t){return Se(e)?e:new Wh(e,t)}class Wh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:me(t),this._value=n?t:Cr(t)}get value(){return Qi(this),this._value}set value(t){const n=this.__v_isShallow||vo(t)||_n(t);t=n?t:me(t),yn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Cr(t),Ji(this))}}function M(e){return Se(e)?e.value:e}const qh={get:(e,t,n)=>M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function du(e){return Ln(e)?e:new Proxy(e,qh)}class Qh{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Qi(this),()=>Ji(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Jh(e){return new Qh(e)}function tx(e){const t=re(e)?new Array(e.length):{};for(const n in e)t[n]=hu(e,n);return t}class Zh{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ah(me(this._object),this._key)}}class Yh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Qo(e,t,n){return Se(e)?e:ie(e)?new Yh(e):Ce(e)&&arguments.length>1?hu(e,t,n):ce(e)}function hu(e,t,n){const r=e[t];return Se(r)?r:new Zh(e,t,n)}class Gh{constructor(t,n,r,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new zi(t,()=>{this._dirty||(this._dirty=!0,Ji(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=me(this);return Qi(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Xh(e,t,n=!1){let r,o;const s=ie(e);return s?(r=e,o=dt):(r=e.get,o=e.set),new Gh(r,o,s||!o,n)}function ep(e,...t){}function Jt(e,t,n,r){let o;try{o=r?e(...r):e()}catch(s){Yn(s,t,n)}return o}function it(e,t,n,r){if(ie(e)){const s=Jt(e,t,n,r);return s&&ji(s)&&s.catch(i=>{Yn(i,t,n)}),s}const o=[];for(let s=0;s>>1,o=He[r],s=Pr(o);svt&&He.splice(t,1)}function Ks(e){re(e)?$n.push(...e):(!At||!At.includes(e,e.allowRecurse?un+1:un))&&$n.push(e),mu()}function Ua(e,t=Tr?vt+1:0){for(;tPr(n)-Pr(r)),un=0;une.id==null?1/0:e.id,op=(e,t)=>{const n=Pr(e)-Pr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function gu(e){Us=!1,Tr=!0,He.sort(op);const t=dt;try{for(vt=0;vtxe(h)?h.trim():h)),f&&(o=n.map(Fs))}let a,c=r[a=gs(t)]||r[a=gs(wt(t))];!c&&s&&(c=r[a=gs(En(t))]),c&&it(c,e,6,o);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,it(l,e,6,o)}}function yu(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},a=!1;if(!ie(e)){const c=l=>{const u=yu(l,t,!0);u&&(a=!0,$e(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!s&&!a?(Ce(e)&&r.set(e,null),null):(re(s)?s.forEach(c=>i[c]=null):$e(i,s),Ce(e)&&r.set(e,i),i)}function Zo(e,t){return!e||!Dr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,En(t))||pe(e,t))}let Me=null,Yo=null;function wo(e){const t=Me;return Me=e,Yo=e&&e.type.__scopeId||null,t}function _u(e){Yo=e}function vu(){Yo=null}function Ze(e,t=Me,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&oc(-1);const s=wo(t);let i;try{i=e(...o)}finally{wo(s),r._d&&oc(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function ys(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:a,attrs:c,emit:l,render:u,renderCache:f,data:d,setupState:h,ctx:m,inheritAttrs:p}=e;let y,v;const b=wo(e);try{if(n.shapeFlag&4){const g=o||r;y=ot(u.call(g,g,f,s,h,d,m)),v=c}else{const g=t;y=ot(g.length>1?g(s,{attrs:c,slots:a,emit:l}):g(s,null)),v=t.props?c:ap(c)}}catch(g){gr.length=0,Yn(g,e,1),y=oe(Ke)}let _=y;if(v&&p!==!1){const g=Object.keys(v),{shapeFlag:P}=_;g.length&&P&7&&(i&&g.some(Hi)&&(v=cp(v,i)),_=Lt(_,v))}return n.dirs&&(_=Lt(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),y=_,wo(b),y}function ip(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||Dr(n))&&((t||(t={}))[n]=e[n]);return t},cp=(e,t)=>{const n={};for(const r in e)(!Hi(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function lp(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:c}=t,l=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ka(r,i,l):!!i;if(c&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense,up={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,s,i,a,c,l){e==null?fp(t,n,r,o,s,i,a,c,l):dp(e,t,n,r,o,i,a,c,l)},hydrate:hp,create:Gi,normalize:pp},wu=up;function xr(e,t){const n=e.props&&e.props[t];ie(n)&&n()}function fp(e,t,n,r,o,s,i,a,c){const{p:l,o:{createElement:u}}=c,f=u("div"),d=e.suspense=Gi(e,o,r,t,f,n,s,i,a,c);l(null,d.pendingBranch=e.ssContent,f,null,r,d,s,i),d.deps>0?(xr(e,"onPending"),xr(e,"onFallback"),l(null,e.ssFallback,t,n,r,null,s,i),Mn(d,e.ssFallback)):d.resolve(!1,!0)}function dp(e,t,n,r,o,s,i,a,{p:c,um:l,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:m,pendingBranch:p,isInFallback:y,isHydrating:v}=f;if(p)f.pendingBranch=d,ft(d,p)?(c(p,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():y&&(c(m,h,n,r,o,null,s,i,a),Mn(f,h))):(f.pendingId++,v?(f.isHydrating=!1,f.activeBranch=p):l(p,o,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),y?(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0?f.resolve():(c(m,h,n,r,o,null,s,i,a),Mn(f,h))):m&&ft(d,m)?(c(m,d,n,r,o,f,s,i,a),f.resolve(!0)):(c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0&&f.resolve()));else if(m&&ft(d,m))c(m,d,n,r,o,f,s,i,a),Mn(f,d);else if(xr(t,"onPending"),f.pendingBranch=d,f.pendingId++,c(null,d,f.hiddenContainer,null,o,f,s,i,a),f.deps<=0)f.resolve();else{const{timeout:b,pendingId:_}=f;b>0?setTimeout(()=>{f.pendingId===_&&f.fallback(h)},b):b===0&&f.fallback(h)}}function Gi(e,t,n,r,o,s,i,a,c,l,u=!1){const{p:f,m:d,um:h,n:m,o:{parentNode:p,remove:y}}=l;let v;const b=mp(e);b&&t!=null&&t.pendingBranch&&(v=t.pendingId,t.deps++);const _=e.props?Jl(e.props.timeout):void 0,g={vnode:e,parent:t,parentComponent:n,isSVG:i,container:r,hiddenContainer:o,anchor:s,deps:0,pendingId:0,timeout:typeof _=="number"?_:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(P=!1,S=!1){const{vnode:I,activeBranch:k,pendingBranch:H,pendingId:R,effects:T,parentComponent:C,container:x}=g;let V=!1;if(g.isHydrating)g.isHydrating=!1;else if(!P){V=k&&H.transition&&H.transition.mode==="out-in",V&&(k.transition.afterLeave=()=>{R===g.pendingId&&(d(H,x,Q,0),Ks(T))});let{anchor:Q}=g;k&&(Q=m(k),h(k,C,g,!0)),V||d(H,x,Q,0)}Mn(g,H),g.pendingBranch=null,g.isInFallback=!1;let J=g.parent,B=!1;for(;J;){if(J.pendingBranch){J.effects.push(...T),B=!0;break}J=J.parent}!B&&!V&&Ks(T),g.effects=[],b&&t&&t.pendingBranch&&v===t.pendingId&&(t.deps--,t.deps===0&&!S&&t.resolve()),xr(I,"onResolve")},fallback(P){if(!g.pendingBranch)return;const{vnode:S,activeBranch:I,parentComponent:k,container:H,isSVG:R}=g;xr(S,"onFallback");const T=m(I),C=()=>{g.isInFallback&&(f(null,P,H,T,k,null,R,a,c),Mn(g,P))},x=P.transition&&P.transition.mode==="out-in";x&&(I.transition.afterLeave=C),g.isInFallback=!0,h(I,k,null,!0),x||C()},move(P,S,I){g.activeBranch&&d(g.activeBranch,P,S,I),g.container=P},next(){return g.activeBranch&&m(g.activeBranch)},registerDep(P,S){const I=!!g.pendingBranch;I&&g.deps++;const k=P.vnode.el;P.asyncDep.catch(H=>{Yn(H,P,0)}).then(H=>{if(P.isUnmounted||g.isUnmounted||g.pendingId!==P.suspenseId)return;P.asyncResolved=!0;const{vnode:R}=P;Gs(P,H,!1),k&&(R.el=k);const T=!k&&P.subTree.el;S(P,R,p(k||P.subTree.el),k?null:m(P.subTree),g,i,c),T&&y(T),Yi(P,R.el),I&&--g.deps===0&&g.resolve()})},unmount(P,S){g.isUnmounted=!0,g.activeBranch&&h(g.activeBranch,n,P,S),g.pendingBranch&&h(g.pendingBranch,n,P,S)}};return g}function hp(e,t,n,r,o,s,i,a,c){const l=t.suspense=Gi(t,r,n,e.parentNode,document.createElement("div"),null,o,s,i,a,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,s,i);return l.deps===0&&l.resolve(!1,!0),u}function pp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Wa(r?n.default:n),e.ssFallback=r?Wa(n.fallback):oe(Ke)}function Wa(e){let t;if(ie(e)){const n=Bn&&e._c;n&&(e._d=!1,q()),e=e(),n&&(e._d=!0,t=st,Zu())}return re(e)&&(e=ip(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Eu(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):Ks(e)}function Mn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,Yi(r,o))}function mp(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function gp(e,t){return Go(e,null,t)}function yp(e,t){return Go(e,null,{flush:"post"})}const Jr={};function ye(e,t,n){return Go(e,t,n)}function Go(e,t,{immediate:n,deep:r,flush:o,onTrack:s,onTrigger:i}=Te){var a;const c=Ko()===((a=ke)==null?void 0:a.scope)?ke:null;let l,u=!1,f=!1;if(Se(e)?(l=()=>e.value,u=vo(e)):Ln(e)?(l=()=>e,r=!0):re(e)?(f=!0,u=e.some(g=>Ln(g)||vo(g)),l=()=>e.map(g=>{if(Se(g))return g.value;if(Ln(g))return pn(g);if(ie(g))return Jt(g,c,2)})):ie(e)?t?l=()=>Jt(e,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),it(e,c,3,[h])}:l=dt,t&&r){const g=l;l=()=>pn(g())}let d,h=g=>{d=b.onStop=()=>{Jt(g,c,4)}},m;if(zn)if(h=dt,t?n&&it(t,c,3,[l(),f?[]:void 0,h]):l(),o==="sync"){const g=cm();m=g.__watcherHandles||(g.__watcherHandles=[])}else return dt;let p=f?new Array(e.length).fill(Jr):Jr;const y=()=>{if(b.active)if(t){const g=b.run();(r||u||(f?g.some((P,S)=>yn(P,p[S])):yn(g,p)))&&(d&&d(),it(t,c,3,[g,p===Jr?void 0:f&&p[0]===Jr?[]:p,h]),p=g)}else b.run()};y.allowRecurse=!!t;let v;o==="sync"?v=y:o==="post"?v=()=>Ne(y,c&&c.suspense):(y.pre=!0,c&&(y.id=c.uid),v=()=>Jo(y));const b=new zi(l,v);t?n?y():p=b.run():o==="post"?Ne(b.run.bind(b),c&&c.suspense):b.run();const _=()=>{b.stop(),c&&c.scope&&Fi(c.scope.effects,b)};return m&&m.push(_),_}function _p(e,t,n){const r=this.proxy,o=xe(e)?e.includes(".")?Cu(r,e):()=>r[e]:e.bind(r,r);let s;ie(t)?s=t:(s=t.handler,n=t);const i=ke;Xt(this);const a=Go(o,s.bind(r),n);return i?Xt(i):Zt(),a}function Cu(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{pn(n,t)});else if(Ql(e))for(const n in e)pn(e[n],t);return e}function Tu(e,t){const n=Me;if(n===null)return e;const r=ns(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Gn(()=>{e.isUnmounting=!0}),e}const rt=[Function,Array],Pu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:rt,onEnter:rt,onAfterEnter:rt,onEnterCancelled:rt,onBeforeLeave:rt,onLeave:rt,onAfterLeave:rt,onLeaveCancelled:rt,onBeforeAppear:rt,onAppear:rt,onAfterAppear:rt,onAppearCancelled:rt},bp={name:"BaseTransition",props:Pu,setup(e,{slots:t}){const n=pt(),r=vp();let o;return()=>{const s=t.default&&Au(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const p of s)if(p.type!==Ke){i=p;break}}const a=me(e),{mode:c}=a;if(r.isLeaving)return _s(i);const l=qa(i);if(!l)return _s(i);const u=Ws(l,a,r,n);Eo(l,u);const f=n.subTree,d=f&&qa(f);let h=!1;const{getTransitionKey:m}=l.type;if(m){const p=m();o===void 0?o=p:p!==o&&(o=p,h=!0)}if(d&&d.type!==Ke&&(!ft(l,d)||h)){const p=Ws(d,a,r,n);if(Eo(d,p),c==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},_s(i);c==="in-out"&&l.type!==Ke&&(p.delayLeave=(y,v,b)=>{const _=xu(r,d);_[String(d.key)]=d,y[zt]=()=>{v(),y[zt]=void 0,delete u.delayedLeave},u.delayedLeave=b})}return i}}},wp=bp;function xu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ws(e,t,n,r){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:p,onAppear:y,onAfterAppear:v,onAppearCancelled:b}=t,_=String(e.key),g=xu(n,e),P=(k,H)=>{k&&it(k,r,9,H)},S=(k,H)=>{const R=H[1];P(k,H),re(k)?k.every(T=>T.length<=1)&&R():k.length<=1&&R()},I={mode:s,persisted:i,beforeEnter(k){let H=a;if(!n.isMounted)if(o)H=p||a;else return;k[zt]&&k[zt](!0);const R=g[_];R&&ft(e,R)&&R.el[zt]&&R.el[zt](),P(H,[k])},enter(k){let H=c,R=l,T=u;if(!n.isMounted)if(o)H=y||c,R=v||l,T=b||u;else return;let C=!1;const x=k[Zr]=V=>{C||(C=!0,V?P(T,[k]):P(R,[k]),I.delayedLeave&&I.delayedLeave(),k[Zr]=void 0)};H?S(H,[k,x]):x()},leave(k,H){const R=String(e.key);if(k[Zr]&&k[Zr](!0),n.isUnmounting)return H();P(f,[k]);let T=!1;const C=k[zt]=x=>{T||(T=!0,H(),x?P(m,[k]):P(h,[k]),k[zt]=void 0,g[R]===e&&delete g[R])};g[R]=e,d?S(d,[k,C]):C()},clone(k){return Ws(k,t,n,r)}};return I}function _s(e){if(Fr(e))return e=Lt(e),e.children=null,e}function qa(e){return Fr(e)?e.children?e.children[0]:void 0:e}function Eo(e,t){e.shapeFlag&6&&e.component?Eo(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Au(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s$e({name:e.name},t,{setup:e}))():e}const gn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function N(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:a}=e;let c=null,l,u=0;const f=()=>(u++,c=null,d()),d=()=>{let h;return c||(h=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((p,y)=>{a(m,()=>p(f()),()=>y(m),u+1)});throw m}).then(m=>h!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),l=m,m)))};return Ae({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return l},setup(){const h=ke;if(l)return()=>vs(l,h);const m=b=>{c=null,Yn(b,h,13,!r)};if(i&&h.suspense||zn)return d().then(b=>()=>vs(b,h)).catch(b=>(m(b),()=>r?oe(r,{error:b}):null));const p=ce(!1),y=ce(),v=ce(!!o);return o&&setTimeout(()=>{v.value=!1},o),s!=null&&setTimeout(()=>{if(!p.value&&!y.value){const b=new Error(`Async component timed out after ${s}ms.`);m(b),y.value=b}},s),d().then(()=>{p.value=!0,h.parent&&Fr(h.parent.vnode)&&Jo(h.parent.update)}).catch(b=>{m(b),y.value=b}),()=>{if(p.value&&l)return vs(l,h);if(y.value&&r)return oe(r,{error:y.value});if(n&&!v.value)return oe(n)}}})}function vs(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=oe(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Fr=e=>e.type.__isKeepAlive,Ep={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=pt(),r=n.ctx;if(!r.renderer)return()=>{const b=t.default&&t.default();return b&&b.length===1?b[0]:b};const o=new Map,s=new Set;let i=null;const a=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:f}}}=r,d=f("div");r.activate=(b,_,g,P,S)=>{const I=b.component;l(b,_,g,0,a),c(I.vnode,b,_,g,I,a,P,b.slotScopeIds,S),Ne(()=>{I.isDeactivated=!1,I.a&&On(I.a);const k=b.props&&b.props.onVnodeMounted;k&&Qe(k,I.parent,b)},a)},r.deactivate=b=>{const _=b.component;l(b,d,null,1,a),Ne(()=>{_.da&&On(_.da);const g=b.props&&b.props.onVnodeUnmounted;g&&Qe(g,_.parent,b),_.isDeactivated=!0},a)};function h(b){bs(b),u(b,n,a,!0)}function m(b){o.forEach((_,g)=>{const P=Xs(_.type);P&&(!b||!b(P))&&p(g)})}function p(b){const _=o.get(b);!i||!ft(_,i)?h(_):i&&bs(i),o.delete(b),s.delete(b)}ye(()=>[e.include,e.exclude],([b,_])=>{b&&m(g=>cr(b,g)),_&&m(g=>!cr(_,g))},{flush:"post",deep:!0});let y=null;const v=()=>{y!=null&&o.set(y,ws(n.subTree))};return Nt(v),Ou(v),Gn(()=>{o.forEach(b=>{const{subTree:_,suspense:g}=n,P=ws(_);if(b.type===P.type&&b.key===P.key){bs(P);const S=P.component.da;S&&Ne(S,g);return}h(b)})}),()=>{if(y=null,!t.default)return null;const b=t.default(),_=b[0];if(b.length>1)return i=null,b;if(!Vn(_)||!(_.shapeFlag&4)&&!(_.shapeFlag&128))return i=null,_;let g=ws(_);const P=g.type,S=Xs(gn(g)?g.type.__asyncResolved||{}:P),{include:I,exclude:k,max:H}=e;if(I&&(!S||!cr(I,S))||k&&S&&cr(k,S))return i=g,_;const R=g.key==null?P:g.key,T=o.get(R);return g.el&&(g=Lt(g),_.shapeFlag&128&&(_.ssContent=g)),y=R,T?(g.el=T.el,g.component=T.component,g.transition&&Eo(g,g.transition),g.shapeFlag|=512,s.delete(R),s.add(R)):(s.add(R),H&&s.size>parseInt(H,10)&&p(s.values().next().value)),g.shapeFlag|=256,i=g,bu(_.type)?_:g}}},Cp=Ep;function cr(e,t){return re(e)?e.some(n=>cr(n,t)):xe(e)?e.split(",").includes(t):dh(e)?e.test(t):!1}function Su(e,t){Iu(e,"a",t)}function Ru(e,t){Iu(e,"da",t)}function Iu(e,t,n=ke){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Xo(t,r,n),n){let o=n.parent;for(;o&&o.parent;)Fr(o.parent.vnode)&&Tp(r,t,n,o),o=o.parent}}function Tp(e,t,n,r){const o=Xo(t,e,r,!0);Ar(()=>{Fi(r[t],o)},n)}function bs(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ws(e){return e.shapeFlag&128?e.ssContent:e}function Xo(e,t,n=ke,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Jn(),Xt(n);const a=it(t,n,e,i);return Zt(),Zn(),a});return r?o.unshift(s):o.push(s),s}}const Mt=e=>(t,n=ke)=>(!zn||e==="sp")&&Xo(e,(...r)=>t(...r),n),ku=Mt("bm"),Nt=Mt("m"),Pp=Mt("bu"),Ou=Mt("u"),Gn=Mt("bum"),Ar=Mt("um"),xp=Mt("sp"),Ap=Mt("rtg"),Sp=Mt("rtc");function Lu(e,t=ke){Xo("ec",e,t)}const Xi="components";function Rp(e,t){return Mu(Xi,e,!0,t)||e}const $u=Symbol.for("v-ndc");function es(e){return xe(e)?Mu(Xi,e,!1)||e:e||$u}function Mu(e,t,n=!0,r=!1){const o=Me||ke;if(o){const s=o.type;if(e===Xi){const a=Xs(s,!1);if(a&&(a===t||a===wt(t)||a===Uo(wt(t))))return s}const i=Qa(o[e]||s[e],t)||Qa(o.appContext[e],t);return!i&&r?s:i}}function Qa(e,t){return e&&(e[t]||e[wt(t)]||e[Uo(wt(t))])}function Fn(e,t,n,r){let o;const s=n&&n[r];if(re(e)||xe(e)){o=new Array(e.length);for(let i=0,a=e.length;it(i,a,void 0,s&&s[a]));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,c=i.length;aVn(t)?!(t.type===Ke||t.type===Pe&&!Nu(t.children)):!0)?e:null}const qs=e=>e?ef(e)?ns(e)||e.proxy:qs(e.parent):null,pr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>qs(e.parent),$root:e=>qs(e.root),$emit:e=>e.emit,$options:e=>ea(e),$forceUpdate:e=>e.f||(e.f=()=>Jo(e.update)),$nextTick:e=>e.n||(e.n=Et.bind(e.proxy)),$watch:e=>_p.bind(e)}),Es=(e,t)=>e!==Te&&!e.__isScriptSetup&&pe(e,t),Ip={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Es(r,t))return i[t]=1,r[t];if(o!==Te&&pe(o,t))return i[t]=2,o[t];if((l=e.propsOptions[0])&&pe(l,t))return i[t]=3,s[t];if(n!==Te&&pe(n,t))return i[t]=4,n[t];Qs&&(i[t]=0)}}const u=pr[t];let f,d;if(u)return t==="$attrs"&&Je(e,"get",t),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Te&&pe(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,pe(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Es(o,t)?(o[t]=n,!0):r!==Te&&pe(r,t)?(r[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let a;return!!n[i]||e!==Te&&pe(e,i)||Es(t,i)||(a=s[0])&&pe(a,i)||pe(r,i)||pe(pr,i)||pe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function nx(){return kp().slots}function kp(){const e=pt();return e.setupContext||(e.setupContext=nf(e))}function Ja(e){return re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Du(e){const t=pt();let n=e();return Zt(),ji(n)&&(n=n.catch(r=>{throw Xt(t),r})),[n,()=>Xt(t)]}let Qs=!0;function Op(e){const t=ea(e),n=e.proxy,r=e.ctx;Qs=!1,t.beforeCreate&&Za(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:m,activated:p,deactivated:y,beforeDestroy:v,beforeUnmount:b,destroyed:_,unmounted:g,render:P,renderTracked:S,renderTriggered:I,errorCaptured:k,serverPrefetch:H,expose:R,inheritAttrs:T,components:C,directives:x,filters:V}=t;if(l&&Lp(l,r,null),i)for(const Q in i){const U=i[Q];ie(U)&&(r[Q]=U.bind(n))}if(o){const Q=o.call(n,n);Ce(Q)&&(e.data=tt(Q))}if(Qs=!0,s)for(const Q in s){const U=s[Q],he=ie(U)?U.bind(n,n):ie(U.get)?U.get.bind(n,n):dt,Oe=!ie(U)&&ie(U.set)?U.set.bind(n):dt,Le=ee({get:he,set:Oe});Object.defineProperty(r,Q,{enumerable:!0,configurable:!0,get:()=>Le.value,set:we=>Le.value=we})}if(a)for(const Q in a)Hu(a[Q],r,n,Q);if(c){const Q=ie(c)?c.call(n):c;Reflect.ownKeys(Q).forEach(U=>{Nn(U,Q[U])})}u&&Za(u,e,"c");function B(Q,U){re(U)?U.forEach(he=>Q(he.bind(n))):U&&Q(U.bind(n))}if(B(ku,f),B(Nt,d),B(Pp,h),B(Ou,m),B(Su,p),B(Ru,y),B(Lu,k),B(Sp,S),B(Ap,I),B(Gn,b),B(Ar,g),B(xp,H),re(R))if(R.length){const Q=e.exposed||(e.exposed={});R.forEach(U=>{Object.defineProperty(Q,U,{get:()=>n[U],set:he=>n[U]=he})})}else e.exposed||(e.exposed={});P&&e.render===dt&&(e.render=P),T!=null&&(e.inheritAttrs=T),C&&(e.components=C),x&&(e.directives=x)}function Lp(e,t,n=dt){re(e)&&(e=Js(e));for(const r in e){const o=e[r];let s;Ce(o)?"default"in o?s=De(o.from||r,o.default,!0):s=De(o.from||r):s=De(o),Se(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Za(e,t,n){it(re(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Hu(e,t,n,r){const o=r.includes(".")?Cu(n,r):()=>n[r];if(xe(e)){const s=t[e];ie(s)&&ye(o,s)}else if(ie(e))ye(o,e.bind(n));else if(Ce(e))if(re(e))e.forEach(s=>Hu(s,t,n,r));else{const s=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(s)&&ye(o,s,e)}}function ea(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,a=s.get(t);let c;return a?c=a:!o.length&&!n&&!r?c=t:(c={},o.length&&o.forEach(l=>Co(c,l,i,!0)),Co(c,t,i)),Ce(t)&&s.set(t,c),c}function Co(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Co(e,s,n,!0),o&&o.forEach(i=>Co(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=$p[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const $p={data:Ya,props:Ga,emits:Ga,methods:lr,computed:lr,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:lr,directives:lr,watch:Np,provide:Ya,inject:Mp};function Ya(e,t){return t?e?function(){return $e(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function Mp(e,t){return lr(Js(e),Js(t))}function Js(e){if(re(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(r&&r.proxy):t}}function ju(){return!!(ke||Me||Rr)}function Fp(e,t,n,r=!1){const o={},s={};yo(s,ts,1),e.propsDefaults=Object.create(null),Bu(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Qt(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function jp(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,a=me(o),[c]=e.propsOptions;let l=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[d,h]=Vu(f,t,!0);$e(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!c)return Ce(e)&&r.set(e,In),In;if(re(s))for(let u=0;u-1,h[1]=p<0||m-1||pe(h,"default"))&&a.push(f)}}}const l=[i,a];return Ce(e)&&r.set(e,l),l}function Xa(e){return e[0]!=="$"}function ec(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function tc(e,t){return ec(e)===ec(t)}function nc(e,t){return re(t)?t.findIndex(n=>tc(n,e)):ie(t)&&tc(t,e)?0:-1}const zu=e=>e[0]==="_"||e==="$stable",ta=e=>re(e)?e.map(ot):[ot(e)],Bp=(e,t,n)=>{if(t._n)return t;const r=Ze((...o)=>ta(t(...o)),n);return r._c=!1,r},Uu=(e,t,n)=>{const r=e._ctx;for(const o in e){if(zu(o))continue;const s=e[o];if(ie(s))t[o]=Bp(o,s,r);else if(s!=null){const i=ta(s);t[o]=()=>i}}},Ku=(e,t)=>{const n=ta(t);e.slots.default=()=>n},Vp=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=me(t),yo(t,"_",n)):Uu(t,e.slots={})}else e.slots={},t&&Ku(e,t);yo(e.slots,ts,1)},zp=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Te;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:($e(o,t),!n&&a===1&&delete o._):(s=!t.$stable,Uu(t,o)),i=t}else t&&(Ku(e,t),i={default:1});if(s)for(const a in o)!zu(a)&&i[a]==null&&delete o[a]};function To(e,t,n,r,o=!1){if(re(e)){e.forEach((d,h)=>To(d,t&&(re(t)?t[h]:t),n,r,o));return}if(gn(r)&&!o)return;const s=r.shapeFlag&4?ns(r.component)||r.component.proxy:r.el,i=o?null:s,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Te?a.refs={}:a.refs,f=a.setupState;if(l!=null&&l!==c&&(xe(l)?(u[l]=null,pe(f,l)&&(f[l]=null)):Se(l)&&(l.value=null)),ie(c))Jt(c,a,12,[i,u]);else{const d=xe(c),h=Se(c);if(d||h){const m=()=>{if(e.f){const p=d?pe(f,c)?f[c]:u[c]:c.value;o?re(p)&&Fi(p,s):re(p)?p.includes(s)||p.push(s):d?(u[c]=[s],pe(f,c)&&(f[c]=u[c])):(c.value=[s],e.k&&(u[e.k]=c.value))}else d?(u[c]=i,pe(f,c)&&(f[c]=i)):h&&(c.value=i,e.k&&(u[e.k]=i))};i?(m.id=-1,Ne(m,n)):m()}}}let Ft=!1;const Yr=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Gr=e=>e.nodeType===8;function Up(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:a,insert:c,createComment:l}}=e,u=(_,g)=>{if(!g.hasChildNodes()){n(null,_,g),bo(),g._vnode=_;return}Ft=!1,f(g.firstChild,_,null,null,null),bo(),g._vnode=_,Ft&&console.error("Hydration completed but contains mismatches.")},f=(_,g,P,S,I,k=!1)=>{const H=Gr(_)&&_.data==="[",R=()=>p(_,g,P,S,I,H),{type:T,ref:C,shapeFlag:x,patchFlag:V}=g;let J=_.nodeType;g.el=_,V===-2&&(k=!1,g.dynamicChildren=null);let B=null;switch(T){case jn:J!==3?g.children===""?(c(g.el=o(""),i(_),_),B=_):B=R():(_.data!==g.children&&(Ft=!0,_.data=g.children),B=s(_));break;case Ke:if(J!==8||H)if(_.tagName.toLowerCase()==="template"){const Q=g.el.content.firstChild;v(Q,_,P),g.el=_=Q,B=s(_)}else B=R();else B=s(_);break;case Dn:if(H&&(_=s(_),J=_.nodeType),J===1||J===3){B=_;const Q=!g.children.length;for(let U=0;U{k=k||!!g.dynamicChildren;const{type:H,props:R,patchFlag:T,shapeFlag:C,dirs:x,transition:V}=g,J=H==="input"&&x||H==="option";if(J||T!==-1){if(x&&_t(g,null,P,"created"),R)if(J||!k||T&48)for(const U in R)(J&&U.endsWith("value")||Dr(U)&&!hr(U))&&r(_,U,null,R[U],!1,void 0,P);else R.onClick&&r(_,"onClick",null,R.onClick,!1,void 0,P);let B;(B=R&&R.onVnodeBeforeMount)&&Qe(B,P,g);let Q=!1;if(b(_)){Q=qu(S,V)&&P&&P.vnode.props&&P.vnode.props.appear;const U=_.content.firstChild;Q&&V.beforeEnter(U),v(U,_,P),g.el=_=U}if(x&&_t(g,null,P,"beforeMount"),((B=R&&R.onVnodeMounted)||x||Q)&&Eu(()=>{B&&Qe(B,P,g),Q&&V.enter(_),x&&_t(g,null,P,"mounted")},S),C&16&&!(R&&(R.innerHTML||R.textContent))){let U=h(_.firstChild,g,_,P,S,I,k);for(;U;){Ft=!0;const he=U;U=U.nextSibling,a(he)}}else C&8&&_.textContent!==g.children&&(Ft=!0,_.textContent=g.children)}return _.nextSibling},h=(_,g,P,S,I,k,H)=>{H=H||!!g.dynamicChildren;const R=g.children,T=R.length;for(let C=0;C{const{slotScopeIds:H}=g;H&&(I=I?I.concat(H):H);const R=i(_),T=h(s(_),g,R,P,S,I,k);return T&&Gr(T)&&T.data==="]"?s(g.anchor=T):(Ft=!0,c(g.anchor=l("]"),R,T),T)},p=(_,g,P,S,I,k)=>{if(Ft=!0,g.el=null,k){const T=y(_);for(;;){const C=s(_);if(C&&C!==T)a(C);else break}}const H=s(_),R=i(_);return a(_),n(null,g,R,H,P,S,Yr(R),I),H},y=(_,g="[",P="]")=>{let S=0;for(;_;)if(_=s(_),_&&Gr(_)&&(_.data===g&&S++,_.data===P)){if(S===0)return s(_);S--}return _},v=(_,g,P)=>{const S=g.parentNode;S&&S.replaceChild(_,g);let I=P;for(;I;)I.vnode.el===g&&(I.vnode.el=_,I.subTree.el=_),I=I.parent},b=_=>_.nodeType===1&&_.tagName.toLowerCase()==="template";return[u,f]}const Ne=Eu;function Kp(e){return Wu(e)}function Wp(e){return Wu(e,Up)}function Wu(e,t){const n=js();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=dt,insertStaticContent:m}=e,p=(w,E,A,O=null,D=null,F=null,Z=!1,z=null,K=!!E.dynamicChildren)=>{if(w===E)return;w&&!ft(w,E)&&(O=$(w),we(w,D,F,!0),w=null),E.patchFlag===-2&&(K=!1,E.dynamicChildren=null);const{type:j,ref:te,shapeFlag:G}=E;switch(j){case jn:y(w,E,A,O);break;case Ke:v(w,E,A,O);break;case Dn:w==null&&b(E,A,O,Z);break;case Pe:C(w,E,A,O,D,F,Z,z,K);break;default:G&1?P(w,E,A,O,D,F,Z,z,K):G&6?x(w,E,A,O,D,F,Z,z,K):(G&64||G&128)&&j.process(w,E,A,O,D,F,Z,z,K,W)}te!=null&&D&&To(te,w&&w.ref,F,E||w,!E)},y=(w,E,A,O)=>{if(w==null)r(E.el=a(E.children),A,O);else{const D=E.el=w.el;E.children!==w.children&&l(D,E.children)}},v=(w,E,A,O)=>{w==null?r(E.el=c(E.children||""),A,O):E.el=w.el},b=(w,E,A,O)=>{[w.el,w.anchor]=m(w.children,E,A,O,w.el,w.anchor)},_=({el:w,anchor:E},A,O)=>{let D;for(;w&&w!==E;)D=d(w),r(w,A,O),w=D;r(E,A,O)},g=({el:w,anchor:E})=>{let A;for(;w&&w!==E;)A=d(w),o(w),w=A;o(E)},P=(w,E,A,O,D,F,Z,z,K)=>{Z=Z||E.type==="svg",w==null?S(E,A,O,D,F,Z,z,K):H(w,E,D,F,Z,z,K)},S=(w,E,A,O,D,F,Z,z)=>{let K,j;const{type:te,props:G,shapeFlag:ne,transition:le,dirs:fe}=w;if(K=w.el=i(w.type,F,G&&G.is,G),ne&8?u(K,w.children):ne&16&&k(w.children,K,null,O,D,F&&te!=="foreignObject",Z,z),fe&&_t(w,null,O,"created"),I(K,w,w.scopeId,Z,O),G){for(const be in G)be!=="value"&&!hr(be)&&s(K,be,null,G[be],F,w.children,O,D,Re);"value"in G&&s(K,"value",null,G.value),(j=G.onVnodeBeforeMount)&&Qe(j,O,w)}fe&&_t(w,null,O,"beforeMount");const Ee=qu(D,le);Ee&&le.beforeEnter(K),r(K,E,A),((j=G&&G.onVnodeMounted)||Ee||fe)&&Ne(()=>{j&&Qe(j,O,w),Ee&&le.enter(K),fe&&_t(w,null,O,"mounted")},D)},I=(w,E,A,O,D)=>{if(A&&h(w,A),O)for(let F=0;F{for(let j=K;j{const z=E.el=w.el;let{patchFlag:K,dynamicChildren:j,dirs:te}=E;K|=w.patchFlag&16;const G=w.props||Te,ne=E.props||Te;let le;A&&on(A,!1),(le=ne.onVnodeBeforeUpdate)&&Qe(le,A,E,w),te&&_t(E,w,A,"beforeUpdate"),A&&on(A,!0);const fe=D&&E.type!=="foreignObject";if(j?R(w.dynamicChildren,j,z,A,O,fe,F):Z||U(w,E,z,null,A,O,fe,F,!1),K>0){if(K&16)T(z,E,G,ne,A,O,D);else if(K&2&&G.class!==ne.class&&s(z,"class",null,ne.class,D),K&4&&s(z,"style",G.style,ne.style,D),K&8){const Ee=E.dynamicProps;for(let be=0;be{le&&Qe(le,A,E,w),te&&_t(E,w,A,"updated")},O)},R=(w,E,A,O,D,F,Z)=>{for(let z=0;z{if(A!==O){if(A!==Te)for(const z in A)!hr(z)&&!(z in O)&&s(w,z,A[z],null,Z,E.children,D,F,Re);for(const z in O){if(hr(z))continue;const K=O[z],j=A[z];K!==j&&z!=="value"&&s(w,z,j,K,Z,E.children,D,F,Re)}"value"in O&&s(w,"value",A.value,O.value)}},C=(w,E,A,O,D,F,Z,z,K)=>{const j=E.el=w?w.el:a(""),te=E.anchor=w?w.anchor:a("");let{patchFlag:G,dynamicChildren:ne,slotScopeIds:le}=E;le&&(z=z?z.concat(le):le),w==null?(r(j,A,O),r(te,A,O),k(E.children,A,te,D,F,Z,z,K)):G>0&&G&64&&ne&&w.dynamicChildren?(R(w.dynamicChildren,ne,A,D,F,Z,z),(E.key!=null||D&&E===D.subTree)&&na(w,E,!0)):U(w,E,A,te,D,F,Z,z,K)},x=(w,E,A,O,D,F,Z,z,K)=>{E.slotScopeIds=z,w==null?E.shapeFlag&512?D.ctx.activate(E,A,O,Z,K):V(E,A,O,D,F,Z,K):J(w,E,K)},V=(w,E,A,O,D,F,Z)=>{const z=w.component=nm(w,O,D);if(Fr(w)&&(z.ctx.renderer=W),rm(z),z.asyncDep){if(D&&D.registerDep(z,B),!w.el){const K=z.subTree=oe(Ke);v(null,K,E,A)}return}B(z,w,E,A,D,F,Z)},J=(w,E,A)=>{const O=E.component=w.component;if(lp(w,E,A))if(O.asyncDep&&!O.asyncResolved){Q(O,E,A);return}else O.next=E,rp(O.update),O.update();else E.el=w.el,O.vnode=E},B=(w,E,A,O,D,F,Z)=>{const z=()=>{if(w.isMounted){let{next:te,bu:G,u:ne,parent:le,vnode:fe}=w,Ee=te,be;on(w,!1),te?(te.el=fe.el,Q(w,te,Z)):te=fe,G&&On(G),(be=te.props&&te.props.onVnodeBeforeUpdate)&&Qe(be,le,te,fe),on(w,!0);const Ie=ys(w),lt=w.subTree;w.subTree=Ie,p(lt,Ie,f(lt.el),$(lt),w,D,F),te.el=Ie.el,Ee===null&&Yi(w,Ie.el),ne&&Ne(ne,D),(be=te.props&&te.props.onVnodeUpdated)&&Ne(()=>Qe(be,le,te,fe),D)}else{let te;const{el:G,props:ne}=E,{bm:le,m:fe,parent:Ee}=w,be=gn(E);if(on(w,!1),le&&On(le),!be&&(te=ne&&ne.onVnodeBeforeMount)&&Qe(te,Ee,E),on(w,!0),G&&_e){const Ie=()=>{w.subTree=ys(w),_e(G,w.subTree,w,D,null)};be?E.type.__asyncLoader().then(()=>!w.isUnmounted&&Ie()):Ie()}else{const Ie=w.subTree=ys(w);p(null,Ie,A,O,w,D,F),E.el=Ie.el}if(fe&&Ne(fe,D),!be&&(te=ne&&ne.onVnodeMounted)){const Ie=E;Ne(()=>Qe(te,Ee,Ie),D)}(E.shapeFlag&256||Ee&&gn(Ee.vnode)&&Ee.vnode.shapeFlag&256)&&w.a&&Ne(w.a,D),w.isMounted=!0,E=A=O=null}},K=w.effect=new zi(z,()=>Jo(j),w.scope),j=w.update=()=>K.run();j.id=w.uid,on(w,!0),j()},Q=(w,E,A)=>{E.component=w;const O=w.vnode.props;w.vnode=E,w.next=null,jp(w,E.props,O,A),zp(w,E.children,A),Jn(),Ua(),Zn()},U=(w,E,A,O,D,F,Z,z,K=!1)=>{const j=w&&w.children,te=w?w.shapeFlag:0,G=E.children,{patchFlag:ne,shapeFlag:le}=E;if(ne>0){if(ne&128){Oe(j,G,A,O,D,F,Z,z,K);return}else if(ne&256){he(j,G,A,O,D,F,Z,z,K);return}}le&8?(te&16&&Re(j,D,F),G!==j&&u(A,G)):te&16?le&16?Oe(j,G,A,O,D,F,Z,z,K):Re(j,D,F,!0):(te&8&&u(A,""),le&16&&k(G,A,O,D,F,Z,z,K))},he=(w,E,A,O,D,F,Z,z,K)=>{w=w||In,E=E||In;const j=w.length,te=E.length,G=Math.min(j,te);let ne;for(ne=0;nete?Re(w,D,F,!0,!1,G):k(E,A,O,D,F,Z,z,K,G)},Oe=(w,E,A,O,D,F,Z,z,K)=>{let j=0;const te=E.length;let G=w.length-1,ne=te-1;for(;j<=G&&j<=ne;){const le=w[j],fe=E[j]=K?Ut(E[j]):ot(E[j]);if(ft(le,fe))p(le,fe,A,null,D,F,Z,z,K);else break;j++}for(;j<=G&&j<=ne;){const le=w[G],fe=E[ne]=K?Ut(E[ne]):ot(E[ne]);if(ft(le,fe))p(le,fe,A,null,D,F,Z,z,K);else break;G--,ne--}if(j>G){if(j<=ne){const le=ne+1,fe=lene)for(;j<=G;)we(w[j],D,F,!0),j++;else{const le=j,fe=j,Ee=new Map;for(j=fe;j<=ne;j++){const Ye=E[j]=K?Ut(E[j]):ot(E[j]);Ye.key!=null&&Ee.set(Ye.key,j)}let be,Ie=0;const lt=ne-fe+1;let Cn=!1,La=0;const tr=new Array(lt);for(j=0;j=lt){we(Ye,D,F,!0);continue}let gt;if(Ye.key!=null)gt=Ee.get(Ye.key);else for(be=fe;be<=ne;be++)if(tr[be-fe]===0&&ft(Ye,E[be])){gt=be;break}gt===void 0?we(Ye,D,F,!0):(tr[gt-fe]=j+1,gt>=La?La=gt:Cn=!0,p(Ye,E[gt],A,null,D,F,Z,z,K),Ie++)}const $a=Cn?qp(tr):In;for(be=$a.length-1,j=lt-1;j>=0;j--){const Ye=fe+j,gt=E[Ye],Ma=Ye+1{const{el:F,type:Z,transition:z,children:K,shapeFlag:j}=w;if(j&6){Le(w.component.subTree,E,A,O);return}if(j&128){w.suspense.move(E,A,O);return}if(j&64){Z.move(w,E,A,W);return}if(Z===Pe){r(F,E,A);for(let G=0;Gz.enter(F),D);else{const{leave:G,delayLeave:ne,afterLeave:le}=z,fe=()=>r(F,E,A),Ee=()=>{G(F,()=>{fe(),le&&le()})};ne?ne(F,fe,Ee):Ee()}else r(F,E,A)},we=(w,E,A,O=!1,D=!1)=>{const{type:F,props:Z,ref:z,children:K,dynamicChildren:j,shapeFlag:te,patchFlag:G,dirs:ne}=w;if(z!=null&&To(z,null,A,w,!0),te&256){E.ctx.deactivate(w);return}const le=te&1&&ne,fe=!gn(w);let Ee;if(fe&&(Ee=Z&&Z.onVnodeBeforeUnmount)&&Qe(Ee,E,w),te&6)mt(w.component,A,O);else{if(te&128){w.suspense.unmount(A,O);return}le&&_t(w,null,E,"beforeUnmount"),te&64?w.type.remove(w,E,A,D,W,O):j&&(F!==Pe||G>0&&G&64)?Re(j,E,A,!1,!0):(F===Pe&&G&384||!D&&te&16)&&Re(K,E,A),O&&ze(w)}(fe&&(Ee=Z&&Z.onVnodeUnmounted)||le)&&Ne(()=>{Ee&&Qe(Ee,E,w),le&&_t(w,null,E,"unmounted")},A)},ze=w=>{const{type:E,el:A,anchor:O,transition:D}=w;if(E===Pe){nt(A,O);return}if(E===Dn){g(w);return}const F=()=>{o(A),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(w.shapeFlag&1&&D&&!D.persisted){const{leave:Z,delayLeave:z}=D,K=()=>Z(A,F);z?z(w.el,F,K):K()}else F()},nt=(w,E)=>{let A;for(;w!==E;)A=d(w),o(w),w=A;o(E)},mt=(w,E,A)=>{const{bum:O,scope:D,update:F,subTree:Z,um:z}=w;O&&On(O),D.stop(),F&&(F.active=!1,we(Z,w,E,A)),z&&Ne(z,E),Ne(()=>{w.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},Re=(w,E,A,O=!1,D=!1,F=0)=>{for(let Z=F;Zw.shapeFlag&6?$(w.component.subTree):w.shapeFlag&128?w.suspense.next():d(w.anchor||w.el),Y=(w,E,A)=>{w==null?E._vnode&&we(E._vnode,null,null,!0):p(E._vnode||null,w,E,null,null,null,A),Ua(),bo(),E._vnode=w},W={p,um:we,m:Le,r:ze,mt:V,mc:k,pc:U,pbc:R,n:$,o:e};let X,_e;return t&&([X,_e]=t(W)),{render:Y,hydrate:X,createApp:Hp(Y,X)}}function on({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function na(e,t,n=!1){const r=e.children,o=t.children;if(re(r)&&re(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Qp=e=>e.__isTeleport,mr=e=>e&&(e.disabled||e.disabled===""),rc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ys=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},Jp={__isTeleport:!0,process(e,t,n,r,o,s,i,a,c,l){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:m,createText:p,createComment:y}}=l,v=mr(t.props);let{shapeFlag:b,children:_,dynamicChildren:g}=t;if(e==null){const P=t.el=p(""),S=t.anchor=p("");h(P,n,r),h(S,n,r);const I=t.target=Ys(t.props,m),k=t.targetAnchor=p("");I&&(h(k,I),i=i||rc(I));const H=(R,T)=>{b&16&&u(_,R,T,o,s,i,a,c)};v?H(n,S):I&&H(I,k)}else{t.el=e.el;const P=t.anchor=e.anchor,S=t.target=e.target,I=t.targetAnchor=e.targetAnchor,k=mr(e.props),H=k?n:S,R=k?P:I;if(i=i||rc(S),g?(d(e.dynamicChildren,g,H,o,s,i,a),na(e,t,!0)):c||f(e,t,H,R,o,s,i,a,!1),v)k?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xr(t,n,P,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const T=t.target=Ys(t.props,m);T&&Xr(t,T,null,l,0)}else k&&Xr(t,S,I,l,1)}Ju(t)},remove(e,t,n,r,{um:o,o:{remove:s}},i){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:f,props:d}=e;if(f&&s(u),i&&s(l),a&16){const h=i||!mr(d);for(let m=0;m0?st||In:null,Zu(),Bn>0&&st&&st.push(e),e}function ue(e,t,n,r,o,s){return Yu(se(e,t,n,r,o,s,!0))}function de(e,t,n,r,o){return Yu(oe(e,t,n,r,o,!0))}function Vn(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const ts="__vInternal",Gu=({key:e})=>e??null,io=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Se(e)||ie(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function se(e,t=null,n=null,r=0,o=null,s=e===Pe?0:1,i=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Gu(t),ref:t&&io(t),scopeId:Yo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return a?(ra(c,n),s&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),Bn>0&&!i&&st&&(c.patchFlag>0||s&6)&&c.patchFlag!==32&&st.push(c),c}const oe=Yp;function Yp(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===$u)&&(e=Ke),Vn(e)){const a=Lt(e,t,!0);return n&&ra(a,n),Bn>0&&!s&&st&&(a.shapeFlag&6?st[st.indexOf(e)]=a:st.push(a)),a.patchFlag|=-2,a}if(im(e)&&(e=e.__vccOpts),t){t=Xu(t);let{class:a,style:c}=t;a&&!xe(a)&&(t.class=Fe(a)),Ce(c)&&(lu(c)&&!re(c)&&(c=$e({},c)),t.style=qn(c))}const i=xe(e)?1:bu(e)?128:Qp(e)?64:Ce(e)?4:ie(e)?2:0;return se(e,t,n,r,o,i,s,!0)}function Xu(e){return e?lu(e)||ts in e?$e({},e):e:null}function Lt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:i}=e,a=t?Xp(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Gu(a),ref:t&&t.ref?n&&o?re(o)?o.concat(io(t)):[o,io(t)]:io(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lt(e.ssContent),ssFallback:e.ssFallback&&Lt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Xn(e=" ",t=0){return oe(jn,null,e,t)}function Gp(e,t){const n=oe(Dn,null,e);return n.staticCount=t,n}function je(e="",t=!1){return t?(q(),de(Ke,null,e)):oe(Ke,null,e)}function ot(e){return e==null||typeof e=="boolean"?oe(Ke):re(e)?oe(Pe,null,e.slice()):typeof e=="object"?Ut(e):oe(jn,null,String(e))}function Ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lt(e)}function ra(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(re(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ra(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(ts in t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[Xn(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xp(...e){const t={};for(let n=0;nke||Me;let oa,Tn,sc="__VUE_INSTANCE_SETTERS__";(Tn=js()[sc])||(Tn=js()[sc]=[]),Tn.push(e=>ke=e),oa=e=>{Tn.length>1?Tn.forEach(t=>t(e)):Tn[0](e)};const Xt=e=>{oa(e),e.scope.on()},Zt=()=>{ke&&ke.scope.off(),oa(null)};function ef(e){return e.vnode.shapeFlag&4}let zn=!1;function rm(e,t=!1){zn=t;const{props:n,children:r}=e.vnode,o=ef(e);Fp(e,n,o,t),Vp(e,r);const s=o?om(e,t):void 0;return zn=!1,s}function om(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=uu(new Proxy(e.ctx,Ip));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?nf(e):null;Xt(e),Jn();const s=Jt(r,e,0,[e.props,o]);if(Zn(),Zt(),ji(s)){if(s.then(Zt,Zt),t)return s.then(i=>{Gs(e,i,t)}).catch(i=>{Yn(i,e,0)});e.asyncDep=s}else Gs(e,s,t)}else tf(e,t)}function Gs(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=du(t)),tf(e,n)}let ic;function tf(e,t,n){const r=e.type;if(!e.render){if(!t&&ic&&!r.render){const o=r.template||ea(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=$e($e({isCustomElement:s,delimiters:a},i),c);r.render=ic(o,l)}}e.render=r.render||dt}{Xt(e),Jn();try{Op(e)}finally{Zn(),Zt()}}}function sm(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Je(e,"get","$attrs"),t[n]}}))}function nf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return sm(e)},slots:e.slots,emit:e.emit,expose:t}}function ns(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(du(uu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pr)return pr[n](e)},has(t,n){return n in t||n in pr}}))}function Xs(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function im(e){return ie(e)&&"__vccOpts"in e}const ee=(e,t)=>Xh(e,t,zn);function et(e,t,n){const r=arguments.length;return r===2?Ce(t)&&!re(t)?Vn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Vn(n)&&(n=[n]),oe(e,t,n))}const am=Symbol.for("v-scx"),cm=()=>De(am),rf="3.3.7",lm="http://www.w3.org/2000/svg",fn=typeof document<"u"?document:null,ac=fn&&fn.createElement("template"),um={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?fn.createElementNS(lm,e):fn.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>fn.createTextNode(e),createComment:e=>fn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{ac.innerHTML=r?`${e}`:e;const a=ac.content;if(r){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},jt="transition",nr="animation",Ir=Symbol("_vtc"),sa=(e,{slots:t})=>et(wp,fm(e),t);sa.displayName="Transition";const of={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};sa.props=$e({},Pu,of);const sn=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},cc=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function fm(e){const t={};for(const C in e)C in of||(t[C]=e[C]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:l=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=dm(o),p=m&&m[0],y=m&&m[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:_,onLeave:g,onLeaveCancelled:P,onBeforeAppear:S=v,onAppear:I=b,onAppearCancelled:k=_}=t,H=(C,x,V)=>{an(C,x?u:a),an(C,x?l:i),V&&V()},R=(C,x)=>{C._isLeaving=!1,an(C,f),an(C,h),an(C,d),x&&x()},T=C=>(x,V)=>{const J=C?I:b,B=()=>H(x,C,V);sn(J,[x,B]),lc(()=>{an(x,C?c:s),Bt(x,C?u:a),cc(J)||uc(x,r,p,B)})};return $e(t,{onBeforeEnter(C){sn(v,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){sn(S,[C]),Bt(C,c),Bt(C,l)},onEnter:T(!1),onAppear:T(!0),onLeave(C,x){C._isLeaving=!0;const V=()=>R(C,x);Bt(C,f),mm(),Bt(C,d),lc(()=>{C._isLeaving&&(an(C,f),Bt(C,h),cc(g)||uc(C,r,y,V))}),sn(g,[C,V])},onEnterCancelled(C){H(C,!1),sn(_,[C])},onAppearCancelled(C){H(C,!0),sn(k,[C])},onLeaveCancelled(C){R(C),sn(P,[C])}})}function dm(e){if(e==null)return null;if(Ce(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return Jl(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ir]||(e[Ir]=new Set)).add(t)}function an(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ir];n&&(n.delete(t),n.size||(e[Ir]=void 0))}function lc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hm=0;function uc(e,t,n,r){const o=e._endId=++hm,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:a,propCount:c}=pm(e,t);if(!i)return r();const l=i+"end";let u=0;const f=()=>{e.removeEventListener(l,d),s()},d=h=>{h.target===e&&++u>=c&&f()};setTimeout(()=>{u(n[m]||"").split(", "),o=r(`${jt}Delay`),s=r(`${jt}Duration`),i=fc(o,s),a=r(`${nr}Delay`),c=r(`${nr}Duration`),l=fc(a,c);let u=null,f=0,d=0;t===jt?i>0&&(u=jt,f=i,d=s.length):t===nr?l>0&&(u=nr,f=l,d=c.length):(f=Math.max(i,l),u=f>0?i>l?jt:nr:null,d=u?u===jt?s.length:c.length:0);const h=u===jt&&/\b(transform|all)(,|$)/.test(r(`${jt}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function fc(e,t){for(;e.lengthdc(n)+dc(e[r])))}function dc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function mm(){return document.body.offsetHeight}function gm(e,t,n){const r=e[Ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ia=Symbol("_vod"),ym={beforeMount(e,{value:t},{transition:n}){e[ia]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),rr(e,!0),r.enter(e)):r.leave(e,()=>{rr(e,!1)}):rr(e,t))},beforeUnmount(e,{value:t}){rr(e,t)}};function rr(e,t){e.style.display=t?e[ia]:"none"}function _m(e,t,n){const r=e.style,o=xe(n);if(n&&!o){if(t&&!xe(t))for(const s in t)n[s]==null&&ei(r,s,"");for(const s in n)ei(r,s,n[s])}else{const s=r.display;o?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),ia in e&&(r.display=s)}}const hc=/\s*!important$/;function ei(e,t,n){if(re(n))n.forEach(r=>ei(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vm(e,t);hc.test(n)?e.setProperty(En(r),n.replace(hc,""),"important"):e[r]=n}}const pc=["Webkit","Moz","ms"],Ts={};function vm(e,t){const n=Ts[t];if(n)return n;let r=wt(t);if(r!=="filter"&&r in e)return Ts[t]=r;r=Uo(r);for(let o=0;oPs||(Pm.then(()=>Ps=0),Ps=Date.now());function Am(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;it(Sm(r,n.value),t,5,[r])};return n.value=e,n.attached=xm(),n}function Sm(e,t){if(re(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const _c=/^on[a-z]/,Rm=(e,t,n,r,o=!1,s,i,a,c)=>{t==="class"?gm(e,r,o):t==="style"?_m(e,n,r):Dr(t)?Hi(t)||Cm(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Im(e,t,r,o))?wm(e,t,r,s,i,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),bm(e,t,r,o))};function Im(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&_c.test(t)&&ie(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||_c.test(t)&&xe(n)?!1:t in e}function rx(e){const t=pt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>ni(s,o))},r=()=>{const o=e(t.proxy);ti(t.subTree,o),n(o)};yp(r),Nt(()=>{const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),Ar(()=>o.disconnect())})}function ti(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ti(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ni(e.el,t);else if(e.type===Pe)e.children.forEach(n=>ti(n,t));else if(e.type===Dn){let{el:n,anchor:r}=e;for(;n&&(ni(n,t),n!==r);)n=n.nextSibling}}function ni(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const vc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return re(t)?n=>On(t,n):t};function km(e){e.target.composing=!0}function bc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xs=Symbol("_assign"),Om={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[xs]=vc(o);const s=r||o.props&&o.props.type==="number";xn(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=Fs(a)),e[xs](a)}),n&&xn(e,"change",()=>{e.value=e.value.trim()}),t||(xn(e,"compositionstart",km),xn(e,"compositionend",bc),xn(e,"change",bc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[xs]=vc(s),e.composing||document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===t||(o||e.type==="number")&&Fs(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},Lm=["ctrl","shift","alt","meta"],$m={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Lm.some(n=>e[`${n}Key`]&&!t.includes(n))},ur=(e,t)=>(n,...r)=>{for(let o=0;on=>{if(!("key"in n))return;const r=En(n.key);if(t.some(o=>o===r||Mm[o]===r))return e(n)},sf=$e({patchProp:Rm},um);let yr,wc=!1;function Nm(){return yr||(yr=Kp(sf))}function Dm(){return yr=wc?yr:Wp(sf),wc=!0,yr}const Hm=(...e)=>{const t=Nm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=af(r);if(!o)return;const s=t._component;!ie(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},Fm=(...e)=>{const t=Dm().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=af(r);if(o)return n(o,!0,o instanceof SVGElement)},t};function af(e){return xe(e)?document.querySelector(e):e}const jm=/"(?:_|\\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*:/,Bm=/"(?: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*:/,Vm=/^\s*["[{]|^\s*-?\d[\d.]{0,14}\s*$/;function zm(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Um(e);return}return t}function Um(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function kr(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e[e.length-1]==='"')return n.slice(1,-1);if(n.length<=9){const r=n.toLowerCase();if(r==="true")return!0;if(r==="false")return!1;if(r==="undefined")return;if(r==="null")return null;if(r==="nan")return Number.NaN;if(r==="infinity")return Number.POSITIVE_INFINITY;if(r==="-infinity")return Number.NEGATIVE_INFINITY}if(!Vm.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(jm.test(e)||Bm.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,zm)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const Km=/#/g,Wm=/&/g,qm=/=/g,aa=/\+/g,Qm=/%5e/gi,Jm=/%60/gi,Zm=/%7c/gi,Ym=/%20/gi;function Gm(e){return encodeURI(""+e).replace(Zm,"|")}function ri(e){return Gm(typeof e=="string"?e:JSON.stringify(e)).replace(aa,"%2B").replace(Ym,"+").replace(Km,"%23").replace(Wm,"%26").replace(Jm,"`").replace(Qm,"^")}function Ss(e){return ri(e).replace(qm,"%3D")}function Po(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Xm(e){return Po(e.replace(aa," "))}function eg(e){return Po(e.replace(aa," "))}function cf(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const o=Xm(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=eg(r[2]||"");t[o]===void 0?t[o]=s:Array.isArray(t[o])?t[o].push(s):t[o]=[t[o],s]}return t}function tg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ss(e)}=${ri(n)}`).join("&"):`${Ss(e)}=${ri(t)}`:Ss(e)}function ng(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>tg(t,e[t])).filter(Boolean).join("&")}const rg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,og=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,sg=/^([/\\]\s*){2,}[^/\\]/;function en(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?rg.test(e):og.test(e)||(t.acceptRelative?sg.test(e):!1)}const ig=/^[\s\0]*(blob|data|javascript|vbscript):$/i;function ag(e){return!!e&&ig.test(e)}const cg=/\/$|\/\?/;function oi(e="",t=!1){return t?cg.test(e):e.endsWith("/")}function vn(e="",t=!1){if(!t)return(oi(e)?e.slice(0,-1):e)||"/";if(!oi(e,!0))return e||"/";const[n,...r]=e.split("?");return(n.slice(0,-1)||"/")+(r.length>0?`?${r.join("?")}`:"")}function xo(e="",t=!1){if(!t)return e.endsWith("/")?e:e+"/";if(oi(e,!0))return e||"/";const[n,...r]=e.split("?");return n+"/"+(r.length>0?`?${r.join("?")}`:"")}function lg(e=""){return e.startsWith("/")}function si(e=""){return lg(e)?e:"/"+e}function lf(e,t){if(ff(t)||en(e))return e;const n=vn(t);return e.startsWith(n)?e:tn(n,e)}function Ec(e,t){if(ff(t))return e;const n=vn(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function uf(e,t){const n=jr(e),r={...cf(n.search),...t};return n.search=ng(r),hg(n)}function ff(e){return!e||e==="/"}function ug(e){return e&&e!=="/"}const fg=/^\.?\//;function tn(e,...t){let n=e||"";for(const r of t.filter(o=>ug(o)))if(n){const o=r.replace(fg,"");n=xo(n)+o}else n=r;return n}function dg(e,t,n={}){return n.trailingSlash||(e=xo(e),t=xo(t)),n.leadingSlash||(e=si(e),t=si(t)),n.encoding||(e=Po(e),t=Po(t)),e===t}function jr(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/);if(n){const[,f,d=""]=n;return{protocol:f,pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!en(e,{acceptRelative:!0}))return t?jr(t+e):Cc(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,i="",a=""]=s.match(/([^#/?]*)(.*)?/)||[],{pathname:c,search:l,hash:u}=Cc(a.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:r,auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:c,search:l,hash:u}}function Cc(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function hg(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",o=e.auth?e.auth+"@":"",s=e.host||"";return(e.protocol?e.protocol+"//":"")+o+s+t+n+r}class pg extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function mg(e){var c,l,u,f,d;const t=((c=e.error)==null?void 0:c.message)||((l=e.error)==null?void 0:l.toString())||"",n=((u=e.request)==null?void 0:u.method)||((f=e.options)==null?void 0:f.method)||"GET",r=((d=e.request)==null?void 0:d.url)||String(e.request)||"/",o=`[${n}] ${JSON.stringify(r)}`,s=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${o}: ${s}${t?` ${t}`:""}`,a=new pg(i,e.error?{cause:e.error}:void 0);for(const h of["request","options","response"])Object.defineProperty(a,h,{get(){return e[h]}});for(const[h,m]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,h,{get(){return e.response&&e.response[m]}});return a}const gg=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Tc(e="GET"){return gg.has(e.toUpperCase())}function yg(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const _g=new Set(["image/svg","application/xml","application/xhtml","application/html"]),vg=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function bg(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return vg.test(t)?"json":_g.has(t)||t.startsWith("text/")?"text":"blob"}function wg(e,t,n=globalThis.Headers){const r={...t,...e};if(t!=null&&t.params&&(e!=null&&e.params)&&(r.params={...t==null?void 0:t.params,...e==null?void 0:e.params}),t!=null&&t.query&&(e!=null&&e.query)&&(r.query={...t==null?void 0:t.query,...e==null?void 0:e.query}),t!=null&&t.headers&&(e!=null&&e.headers)){r.headers=new n((t==null?void 0:t.headers)||{});for(const[o,s]of new n((e==null?void 0:e.headers)||{}))r.headers.set(o,s)}return r}const Eg=new Set([408,409,425,429,500,502,503,504]),Cg=new Set([101,204,205,304]);function df(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function o(a){const c=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!c){let u;typeof a.options.retry=="number"?u=a.options.retry:u=Tc(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):Eg.has(f))){const d=a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),s(a.request,{...a.options,retry:u-1,timeout:a.options.timeout})}}const l=mg(a);throw Error.captureStackTrace&&Error.captureStackTrace(l,s),l}const s=async function(c,l={}){var d;const u={request:c,options:wg(l,e.defaults,n),response:void 0,error:void 0};if(u.options.method=(d=u.options.method)==null?void 0:d.toUpperCase(),u.options.onRequest&&await u.options.onRequest(u),typeof u.request=="string"&&(u.options.baseURL&&(u.request=lf(u.request,u.options.baseURL)),(u.options.query||u.options.params)&&(u.request=uf(u.request,{...u.options.params,...u.options.query}))),u.options.body&&Tc(u.options.method)&&(yg(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new n(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half"))),!u.options.signal&&u.options.timeout){const h=new r;setTimeout(()=>h.abort(),u.options.timeout),u.options.signal=h.signal}try{u.response=await t(u.request,u.options)}catch(h){return u.error=h,u.options.onRequestError&&await u.options.onRequestError(u),await o(u)}if(u.response.body&&!Cg.has(u.response.status)&&u.options.method!=="HEAD"){const h=(u.options.parseResponse?"json":u.options.responseType)||bg(u.response.headers.get("content-type")||"");switch(h){case"json":{const m=await u.response.text(),p=u.options.parseResponse||kr;u.response._data=p(m);break}case"stream":{u.response._data=u.response.body;break}default:u.response._data=await u.response[h]()}}return u.options.onResponse&&await u.options.onResponse(u),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await u.options.onResponseError(u),await o(u)):u.response},i=async function(c,l){return(await s(c,l))._data};return i.raw=s,i.native=(...a)=>t(...a),i.create=(a={})=>df({...e,defaults:{...e.defaults,...a}}),i}const ca=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Tg=ca.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Pg=ca.Headers,xg=ca.AbortController,Ag=df({fetch:Tg,Headers:Pg,AbortController:xg}),Sg=Ag,Rg=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Ao=Rg().app,Ig=()=>Ao.baseURL,kg=()=>Ao.buildAssetsDir,Og=(...e)=>tn(hf(),kg(),...e),hf=(...e)=>{const t=Ao.cdnURL||Ao.baseURL;return e.length?tn(t,...e):t};globalThis.__buildAssetsURL=Og,globalThis.__publicAssetsURL=hf;function ii(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?ii(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const Lg={run:e=>e()},$g=()=>Lg,pf=typeof console.createTask<"u"?console.createTask:$g;function Mg(e,t){const n=t.shift(),r=pf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function Ng(e,t){const n=t.shift(),r=pf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function Rs(e,t){for(const n of[...e])n(t)}class Dg{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(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=ii(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=ii(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Mg,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Ng,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&Rs(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&Rs(this._after,o)}):(this._after&&o&&Rs(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function mf(){return new Dg}function Hg(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let o;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?o=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>{if(o&&t===void 0){const i=o.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=s();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>s(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return o?o.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const c=()=>{t=i},l=()=>t===i?c:void 0;ai.add(l);try{const u=o?o.run(i,a):a();return n||(t=void 0),await u}finally{ai.delete(l)}}}}function Fg(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Hg({...e,...r})),t[n],t[n]}}}const So=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Pc="__unctx__",jg=So[Pc]||(So[Pc]=Fg()),Bg=(e,t={})=>jg.get(e,t),xc="__unctx_async_handlers__",ai=So[xc]||(So[xc]=new Set);function Or(e){const t=[];for(const o of ai){const s=o();s&&t.push(s)}const n=()=>{for(const o of t)o()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(o=>{throw n(),o})),[r,n]}const gf=Bg("nuxt-app",{asyncContext:!1}),Vg="__nuxt_plugin";function zg(e){let t=0;const n={_scope:Ch(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.8.0"},get vue(){return n.vueApp.version}},payload:tt({data:{},state:{},_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>yf(n,o)),isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let o=!1;return()=>{if(!o&&(o=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:{},_payloadRevivers:{},...e};n.hooks=mf(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;eo(n,i,s),eo(n.vueApp.config.globalProperties,i,s)},eo(n.vueApp,"$nuxt",n),eo(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ge;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=tt(n.payload.config);return n.provide("config",r),n}async function Ug(e,t){if(t.hooks&&e.hooks.addHooks(t.hooks),typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Kg(e,t){const n=[],r=[];for(const o of t){const s=Ug(e,o);o.parallel?n.push(s.catch(i=>r.push(i))):await s}if(await Promise.all(n),r.length)throw r[0]}/*! @__NO_SIDE_EFFECTS__ */function Be(e){return typeof e=="function"?e:(delete e.name,Object.assign(e.setup||(()=>{}),e,{[Vg]:!0}))}function yf(e,t,n){const r=()=>n?t(...n):t();return gf.set(e),e.vueApp.runWithContext(r)}/*! @__NO_SIDE_EFFECTS__ */function ge(){var t;let e;if(ju()&&(e=(t=pt())==null?void 0:t.appContext.app.$nuxt),e=e||gf.tryUse(),!e)throw new Error("[nuxt] instance unavailable");return e}/*! @__NO_SIDE_EFFECTS__ */function We(){return ge().$config}function eo(e,t,n){Object.defineProperty(e,t,{get:()=>n})}const Wg="modulepreload",qg=function(e,t){return e[0]==="."?new URL(e,t).href:e},Ac={},Qg=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=qg(s,r),s in Ac)return;Ac[s]=!0;const i=s.endsWith(".css"),a=i?'[rel="stylesheet"]':"";if(!!r)for(let u=o.length-1;u>=0;u--){const f=o[u];if(f.href===s&&(!i||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${a}`))return;const l=document.createElement("link");if(l.rel=i?"stylesheet":Wg,i||(l.as="script",l.crossOrigin=""),l.href=s,document.head.appendChild(l),i)return new Promise((u,f)=>{l.addEventListener("load",u),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},L=(...e)=>Qg(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Jg=-1,Zg=-2,Yg=-3,Gg=-4,Xg=-5,ey=-6;function ty(e,t){return ny(JSON.parse(e),t)}function ny(e,t){if(typeof e=="number")return o(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function o(s,i=!1){if(s===Jg)return;if(s===Yg)return NaN;if(s===Gg)return 1/0;if(s===Xg)return-1/0;if(s===ey)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const a=n[s];if(!a||typeof a!="object")r[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const c=a[0],l=t==null?void 0:t[c];if(l)return r[s]=l(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const u=new Set;r[s]=u;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Sc(e){return e._h||la(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function vf(e,t){const{props:n,tag:r}=e;if(iy.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return t&&!t(i)?!1:`${r}:${s}:${i}`}return!1}function Rc(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function cy(e,t,n){const r={tag:e,props:await bf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return _f.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent"].includes(o)||oy.includes(r.tag))&&(r[o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.props.children&&(r.innerHTML=r.props.children,delete r.props.children),r.tag==="script"&&(typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),r.innerHTML&&["application/ld+json","application/json"].includes(r.props.type)&&(r.innerHTML=r.innerHTML.replace(/({...r,props:{...r.props,content:o}})):r}function ly(e){return typeof e=="object"&&!Array.isArray(e)&&(e=Object.keys(e).filter(t=>e[t])),(Array.isArray(e)?e.join(" "):e).split(" ").filter(t=>t.trim()).filter(Boolean).join(" ")}async function bf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=ly(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!_f.includes(n)){const r=String(e[n]),o=n.startsWith("data-");r==="true"||r===""?e[n]=o?"true":!0:e[n]||(o&&r==="false"?e[n]="false":delete e[n])}}return e}const uy=10;async function fy(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&sy.includes(n)).forEach(([n,r])=>{const o=ry(r);t.push(...o.map(s=>cy(n,s,e)).flat())}),(await Promise.all(t)).flat().filter(Boolean).map((n,r)=>(n._e=e._i,e.mode&&(n._m=e.mode),n._p=(e._i<c&&c[l]||void 0,t):a=t[i],typeof a<"u"?(a||"").replace(/"/g,'\\"'):!1}let o=e;try{o=decodeURI(e)}catch{}return(o.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(i=>{const a=r(i.slice(1));typeof a=="string"&&(e=e.replace(new RegExp(`\\${i}(\\W|$)`,"g"),(c,l)=>`${a}${l}`).trim())}),e.includes(Vt)&&(e.endsWith(Vt)&&(e=e.slice(0,-Vt.length).trim()),e.startsWith(Vt)&&(e=e.slice(Vt.length).trim()),e=e.replace(new RegExp(`\\${Vt}\\s*\\${Vt}`,"g"),Vt),e=co(e,{separator:n},n)),e}async function hy(e){const t={tag:e.tagName.toLowerCase(),props:await bf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=vf(t),t}async function Ef(e,t={}){var u;const n=t.document||e.resolvedOptions.document;if(!n)return;const r={shouldRender:e.dirty,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!r.shouldRender)return;const o=(await e.resolveTags()).map(f=>({tag:f,id:ao.includes(f.tag)?Sc(f):f.tag,shouldRender:!0}));let s=e._dom;if(!s){s={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const f of["body","head"]){const d=(u=n==null?void 0:n[f])==null?void 0:u.children;for(const h of[...d].filter(m=>ao.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||Sc(await hy(h))]=h}}s.pendingSideEffects={...s.sideEffects||{}},s.sideEffects={};function i(f,d,h){const m=`${f}:${d}`;s.sideEffects[m]=h,delete s.pendingSideEffects[m]}function a({id:f,$el:d,tag:h}){const m=h.tag.endsWith("Attrs");s.elMap[f]=d,m||(["textContent","innerHTML"].forEach(p=>{h[p]&&h[p]!==d[p]&&(d[p]=h[p])}),i(f,"el",()=>{s.elMap[f].remove(),delete s.elMap[f]})),Object.entries(h.props).forEach(([p,y])=>{const v=`attr:${p}`;if(p==="class")for(const b of(y||"").split(" ").filter(Boolean))m&&i(f,`${v}:${b}`,()=>d.classList.remove(b)),!d.classList.contains(b)&&d.classList.add(b);else d.getAttribute(p)!==y&&d.setAttribute(p,y===!0?"":String(y)),m&&i(f,v,()=>d.removeAttribute(p))})}const c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const f of o){const{tag:d,shouldRender:h,id:m}=f;if(h){if(d.tag==="title"){n.title=d.textContent;continue}f.$el=f.$el||s.elMap[m],f.$el?a(f):ao.includes(d.tag)&&c.push(f)}}for(const f of c){const d=f.tag.tagPosition||"head";f.$el=n.createElement(f.tag.tag),a(f),l[d]=l[d]||n.createDocumentFragment(),l[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function py(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await Ef(e,t),delete e._domUpdatePromise,r()}))}function my(e){return t=>{var r,o;const n=((o=(r=t.resolvedOptions.document)==null?void 0:r.head.querySelector('script[id="unhead:payload"]'))==null?void 0:o.innerHTML)||!1;return n&&t.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(s){py(s,e)}}}}}const gy=["templateParams","htmlAttrs","bodyAttrs"],yy={hooks:{"tag:normalise":function({tag:e}){["hid","vmid","key"].forEach(r=>{e.props[r]&&(e.key=e.props[r],delete e.props[r])});const n=vf(e)||(e.key?`${e.tag}:${e.key}`:!1);n&&(e._d=n)},"tags:resolve":function(e){const t={};e.tags.forEach(r=>{const o=(r.key?`${r.tag}:${r.key}`:r._d)||r._p,s=t[o];if(s){let a=r==null?void 0:r.tagDuplicateStrategy;if(!a&&gy.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(l=>{r.props[l]&&c[l]&&(l==="style"&&!c[l].endsWith(";")&&(c[l]+=";"),r.props[l]=`${c[l]} ${r.props[l]}`)}),t[o].props={...c,...r.props};return}else if(r._e===s._e){s._duped=s._duped||[],r._d=`${s._d}:${s._duped.length+1}`,s._duped.push(r);return}else if(Ro(r)>Ro(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(ao.includes(r.tag)&&i===0){delete t[o];return}t[o]=r});const n=[];Object.values(t).forEach(r=>{const o=r._duped;delete r._duped,n.push(r),o&&n.push(...o)}),e.tags=n,e.tags=e.tags.filter(r=>!(r.tag==="meta"&&(r.props.name||r.props.property)&&!r.props.content))}}},_y={mode:"server",hooks:{"tags:resolve":function(e){const t={};e.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{t[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(t).length&&e.tags.push({tag:"script",innerHTML:JSON.stringify(t),props:{id:"unhead:payload",type:"application/json"}})}}},vy=["script","link","bodyAttrs"];function by(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(wf.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const wy=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(vy.includes(n.tag)){const{props:r,eventHandlers:o}=by(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||la(n.props.src||n.props.href)),n._eventHandlers=o)}},"dom:renderTag":function(t,n,r){if(!t.tag._eventHandlers)return;const o=t.tag.tag==="bodyAttrs"?n.defaultView:t.$el;Object.entries(t.tag._eventHandlers).forEach(([s,i])=>{const a=`${t.tag._d||t.tag._p}:${s}`,c=s.slice(2).toLowerCase(),l=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(l))return;t.$el.setAttribute(l,"");let u;const f=d=>{i(d),u==null||u.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):wf.includes(s)&&typeof MutationObserver<"u"?(u=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),u==null||u.disconnect())}),u.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{u==null||u.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(l)})})}}}),Ey=["link","style","script","noscript"],Cy={hooks:{"tag:normalise":({tag:e})=>{e.key&&Ey.includes(e.tag)&&(e.props["data-hid"]=e._h=la(e.key))}}},Ty={hooks:{"tags:resolve":e=>{const t=n=>{var r;return(r=e.tags.find(o=>o._d===n))==null?void 0:r._p};for(const{prefix:n,offset:r}of dy)for(const o of e.tags.filter(s=>typeof s.tagPriority=="string"&&s.tagPriority.startsWith(n))){const s=t(o.tagPriority.replace(n,""));typeof s<"u"&&(o._p=s+r)}e.tags.sort((n,r)=>n._p-r._p).sort((n,r)=>Ro(n)-Ro(r))}}},Py={meta:"content",link:"href",htmlAttrs:"lang"},xy={hooks:{"tags:resolve":e=>{var i;const{tags:t}=e,n=(i=t.find(a=>a.tag==="title"))==null?void 0:i.textContent,r=t.findIndex(a=>a.tag==="templateParams"),o=r!==-1?t[r].props:{},s=o.separator||"|";delete o.separator,o.pageTitle=co(o.pageTitle||n||"",o,s);for(const a of t.filter(c=>c.processTemplateParams!==!1)){const c=Py[a.tag];c&&typeof a.props[c]=="string"?a.props[c]=co(a.props[c],o,s):(a.processTemplateParams===!0||["titleTemplate","title"].includes(a.tag))&&["innerHTML","textContent"].forEach(l=>{typeof a[l]=="string"&&(a[l]=co(a[l],o,s))})}e.tags=t.filter(a=>a.tag!=="templateParams")}}},Ay={hooks:{"tags:resolve":e=>{const{tags:t}=e;let n=t.findIndex(o=>o.tag==="titleTemplate");const r=t.findIndex(o=>o.tag==="title");if(r!==-1&&n!==-1){const o=Rc(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Rc(t[n].textContent);o!==null&&(t[n].textContent=o,t[n].tag="title",n=-1)}n!==-1&&delete t[n],e.tags=t.filter(Boolean)}}};let Cf;function Sy(e={}){const t=Ry(e);return t.use(my()),Cf=t}function Oc(e,t){return!e||e==="server"&&t||e==="client"&&!t}function Ry(e={}){const t=mf();t.addHooks(e.hooks||{}),e.document=e.document||(ay?document:void 0);const n=!e.document,r=()=>{a.dirty=!0,t.callHook("entries:updated",a)};let o=0,s=[];const i=[],a={plugins:i,dirty:!1,resolvedOptions:e,hooks:t,headEntries(){return s},use(c){const l=typeof c=="function"?c(a):c;(!l.key||!i.some(u=>u.key===l.key))&&(i.push(l),Oc(l.mode,n)&&t.addHooks(l.hooks||{}))},push(c,l){l==null||delete l.head;const u={_i:o++,input:c,...l};return Oc(u.mode,n)&&(s.push(u),r()),{dispose(){s=s.filter(f=>f._i!==u._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===u._i&&(d.input=u.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const l of c.entries){const u=l.resolvedInput||l.input;if(l.resolvedInput=await(l.transform?l.transform(u):u),l.resolvedInput)for(const f of await fy(l)){const d={tag:f,entry:l,resolvedOptions:a.resolvedOptions};await t.callHook("tag:normalise",d),c.tags.push(d.tag)}}return await t.callHook("tags:beforeResolve",c),await t.callHook("tags:resolve",c),c.tags},ssr:n};return[yy,_y,wy,Cy,Ty,xy,Ay,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function Iy(){return Cf}const ky=rf.startsWith("3");function Oy(e){return typeof e=="function"?e():M(e)}function Io(e,t=""){if(e instanceof Promise)return e;const n=Oy(e);return!e||!n?n:Array.isArray(n)?n.map(r=>Io(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,Io(o,r)])):n}const Ly={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Io(t.input)}}},Tf="usehead";function $y(e){return{install(n){ky&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Tf,e))}}.install}function My(e={}){e.domDelayFn=e.domDelayFn||(n=>Et(()=>setTimeout(()=>n(),0)));const t=Sy(e);return t.use(Ly),t.install=$y(t),t}const ci=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},li="__unhead_injection_handler__";function Ny(e){ci[li]=e}function Dy(){if(li in ci)return ci[li]();const e=De(Tf);return e||Iy()}function Lr(e,t={}){const n=t.head||Dy();if(n)return n.ssr?n.push(e,t):Hy(n,e,t)}function Hy(e,t,n={}){const r=ce(!1),o=ce({});gp(()=>{o.value=r.value?{}:Io(t)});const s=e.push(o.value,n);return ye(o,a=>{s.patch(a)}),pt()&&(Gn(()=>{s.dispose()}),Ru(()=>{r.value=!0}),Su(()=>{r.value=!1})),s}function Fy(e){return{ctx:{table:e},matchAll:t=>xf(t,e)}}function Pf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,Pf(o)])):new Map(Object.entries(e[n]));return t}function jy(e){return Fy(Pf(e))}function xf(e,t){const n=[];for(const[o,s]of Lc(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Lc(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...xf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Lc(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function Is(e){return e!==null&&typeof e=="object"}function ui(e,t,n=".",r){if(!Is(t))return ui(e,{},n,r);const o=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const i=e[s];i!=null&&(r&&r(o,s,i,n)||(Array.isArray(i)&&Array.isArray(o[s])?o[s]=[...i,...o[s]]:Is(i)&&Is(o[s])?o[s]=ui(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function Af(e){return(...t)=>t.reduce((n,r)=>ui(n,r,"",e),{})}const Hn=Af(),By=Af((e,t,n)=>{if(typeof e[t]<"u"&&typeof n=="function")return e[t]=n(e[t]),!0}),to=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Vy(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n={},o=(t||{}).decode||Ky;let s=0;for(;st in e?Qy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ln=(e,t,n)=>(Jy(e,typeof t!="symbol"?t+"":t,n),n);class fi extends Error{constructor(t,n={}){super(t,n),ln(this,"statusCode",500),ln(this,"fatal",!1),ln(this,"unhandled",!1),ln(this,"statusMessage"),ln(this,"data"),ln(this,"cause"),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:hi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=Sf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}ln(fi,"__h3_error__",!0);function di(e){if(typeof e=="string")return new fi(e);if(Zy(e))return e;const t=new fi(e.message??e.statusMessage??"",{cause:e.cause||e});if(qy(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=hi(e.statusCode,t.statusCode):e.status&&(t.statusCode=hi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;Sf(t.statusMessage)!==n&&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 Zy(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const Yy=/[^\u0009\u0020-\u007E]/g;function Sf(e=""){return e.replace(Yy,"")}function hi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Gy=Symbol("layout-meta"),rs=Symbol("route"),ct=()=>{var e;return(e=ge())==null?void 0:e.$router},at=()=>ju()?De(rs,ge()._route):ge()._route;/*! @__NO_SIDE_EFFECTS__ */const Xy=(e,t,n={})=>{const r=ge(),o=n.global||typeof e!="string",s=typeof e!="string"?e:t;if(!s){console.warn("[nuxt] No route middleware passed to `addRouteMiddleware`.",e);return}o?r._middleware.global.push(s):r._middleware.named[e]=s},e_=()=>{try{if(ge()._processingMiddleware)return!0}catch{return!0}return!1},Rf=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:uf(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,l=Object.entries(c).filter(([u,f])=>f!==void 0).map(([u,f])=>`${u.toLowerCase()}=${f}`).join(", ");open(n,a,l)}return Promise.resolve()}const r=(t==null?void 0:t.external)||en(n,{acceptRelative:!0});if(r){if(!(t!=null&&t.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const a=jr(n).protocol;if(a&&ag(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=e_();if(!r&&o)return e;const s=ct(),i=ge();return r?(i._scope.stop(),t!=null&&t.replace?location.replace(n):location.href=n,o?i.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):t!=null&&t.replace?s.replace(e):s.push(e)},os=()=>Qo(ge().payload,"error"),Rn=e=>{const t=ss(e);try{const n=ge(),r=os();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},t_=async(e={})=>{const t=ge(),n=os();t.callHook("app:error:cleared",e),e.redirect&&await ct().replace(e.redirect),n.value=null},n_=e=>!!(e&&typeof e=="object"&&"__nuxt_error"in e),ss=e=>{const t=di(e);return t.__nuxt_error=!0,t},pi=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),r_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),is=e=>{const t=ge();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{pi(e)}):pi(e)},ox=!1,mi=!1,o_=!1,s_={componentName:"NuxtLink"},i_={deep:!0},a_="#__nuxt";function c_(...e){var h;const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);let[n,r,o={}]=e;if(typeof n!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof r!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=ge(),i=()=>null,a=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??i,o.getCachedData=o.getCachedData??a,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??i_.deep;const c=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(h=s.payload._errors)[n]??(h[n]=null);const m=o.deep?ce:kt;s._asyncData[n]={data:m(o.getCachedData(n)??o.default()),pending:ce(!c()),error:Qo(s.payload._errors,n),status:ce("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(m={})=>{if(s._asyncDataPromises[n]){if(m.dedupe===!1)return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((m._initial||s.isHydrating&&m._initial!==!1)&&c())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const p=new Promise((y,v)=>{try{y(r(s))}catch(b){v(b)}}).then(y=>{if(p.cancelled)return s._asyncDataPromises[n];let v=y;o.transform&&(v=o.transform(y)),o.pick&&(v=u_(v,o.pick)),l.data.value=v,l.error.value=null,l.status.value="success"}).catch(y=>{if(p.cancelled)return s._asyncDataPromises[n];l.error.value=y,l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{p.cancelled||(l.pending.value=!1,s.payload.data[n]=l.data.value,l.error.value&&(s.payload._errors[n]=ss(l.error.value)),delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=p,s._asyncDataPromises[n]};const u=()=>l.refresh({_initial:!0}),f=o.server!==!1&&s.payload.serverRendered;{const m=pt();if(m&&!m._nuxtOnBeforeMountCbs){m._nuxtOnBeforeMountCbs=[];const y=m._nuxtOnBeforeMountCbs;m&&(ku(()=>{y.forEach(v=>{v()}),y.splice(0,y.length)}),Ar(()=>y.splice(0,y.length)))}l.error.value||f&&s.isHydrating&&c()?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):m&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?m._nuxtOnBeforeMountCbs.push(u):o.immediate&&u(),o.watch&&ye(o.watch,()=>l.refresh());const p=s.hook("app:data:refresh",async y=>{(!y||y.includes(n))&&await l.refresh()});m&&Ar(p)}const d=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(d,l),d}function l_(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r,o]=e;return c_(n,r,{...o,lazy:!0},null)}async function sx(e){await new Promise(n=>is(n));const t=e?Array.isArray(e)?e:[e]:void 0;await ge().hooks.callHookParallel("app:data:refresh",t)}function u_(e,t){const n={};for(const r of t)n[r]=e[r];return n}const f_="$s";function Rt(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const o=f_+n,s=ge(),i=Qo(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Se(a))return s.payload.state[o]=a,a;i.value=a}return i}const Mc=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function d_(e,t){t?t={...Mc,...t}:t=Mc;const n=If(t);return n.dispatch(e),n.toString()}const h_=Object.freeze(["prototype","__proto__","constructor"]);function If(e){let t="",n=new Map;const r=o=>{t+=o};return{toString(){return t},getContext(){return n},dispatch(o){return e.replacer&&(o=e.replacer(o)),this[o===null?"null":typeof o](o)},object(o){if(o&&typeof o.toJSON=="function")return this.object(o.toJSON());const s=Object.prototype.toString.call(o);let i="";const a=s.length;a<10?i="unknown:["+s+"]":i=s.slice(8,a-1),i=i.toLowerCase();let c=null;if((c=n.get(o))===void 0)n.set(o,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(o))return r("buffer:"),r(o.toString("utf8"));if(i!=="object"&&i!=="function"&&i!=="asyncfunction")this[i]?this[i](o):e.ignoreUnknown||this.unkown(o,i);else{let l=Object.keys(o);e.unorderedObjects&&(l=l.sort());let u=[];e.respectType!==!1&&!Nc(o)&&(u=h_),e.excludeKeys&&(l=l.filter(d=>!e.excludeKeys(d)),u=u.filter(d=>!e.excludeKeys(d))),r("object:"+(l.length+u.length)+":");const f=d=>{this.dispatch(d),r(":"),e.excludeValues||this.dispatch(o[d]),r(",")};for(const d of l)f(d);for(const d of u)f(d)}},array(o,s){if(s=s===void 0?e.unorderedArrays!==!1:s,r("array:"+o.length+":"),!s||o.length<=1){for(const c of o)this.dispatch(c);return}const i=new Map,a=o.map(c=>{const l=If(e);l.dispatch(c);for(const[u,f]of l.getContext())i.set(u,f);return l.toString()});return n=i,a.sort(),this.array(a,!1)},date(o){return r("date:"+o.toJSON())},symbol(o){return r("symbol:"+o.toString())},unkown(o,s){if(r(s),!!o&&(r(":"),o&&typeof o.entries=="function"))return this.array(Array.from(o.entries()),!0)},error(o){return r("error:"+o.toString())},boolean(o){return r("bool:"+o)},string(o){r("string:"+o.length+":"),r(o)},function(o){r("fn:"),Nc(o)?this.dispatch("[native]"):this.dispatch(o.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(o.name)),e.respectFunctionProperties&&this.object(o)},number(o){return r("number:"+o)},xml(o){return r("xml:"+o.toString())},null(){return r("Null")},undefined(){return r("Undefined")},regexp(o){return r("regex:"+o.toString())},uint8array(o){return r("uint8array:"),this.dispatch(Array.prototype.slice.call(o))},uint8clampedarray(o){return r("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(o))},int8array(o){return r("int8array:"),this.dispatch(Array.prototype.slice.call(o))},uint16array(o){return r("uint16array:"),this.dispatch(Array.prototype.slice.call(o))},int16array(o){return r("int16array:"),this.dispatch(Array.prototype.slice.call(o))},uint32array(o){return r("uint32array:"),this.dispatch(Array.prototype.slice.call(o))},int32array(o){return r("int32array:"),this.dispatch(Array.prototype.slice.call(o))},float32array(o){return r("float32array:"),this.dispatch(Array.prototype.slice.call(o))},float64array(o){return r("float64array:"),this.dispatch(Array.prototype.slice.call(o))},arraybuffer(o){return r("arraybuffer:"),this.dispatch(new Uint8Array(o))},url(o){return r("url:"+o.toString())},map(o){r("map:");const s=[...o];return this.array(s,e.unorderedSets!==!1)},set(o){r("set:");const s=[...o];return this.array(s,e.unorderedSets!==!1)},file(o){return r("file:"),this.dispatch([o.name,o.size,o.type,o.lastModfied])},blob(){if(e.ignoreUnknown)return r("[blob]");throw new Error(`Hashing Blob objects is currently not supported Use "options.replacer" or "options.ignoreUnknown" -`)},domwindow(){return r("domwindow")},bigint(o){return r("bigint:"+o.toString())},process(){return r("process")},timer(){return r("timer")},pipe(){return r("pipe")},tcp(){return r("tcp")},udp(){return r("udp")},tty(){return r("tty")},statwatcher(){return r("statwatcher")},securecontext(){return r("securecontext")},connection(){return r("connection")},zlib(){return r("zlib")},context(){return r("context")},nodescript(){return r("nodescript")},httpparser(){return r("httpparser")},dataview(){return r("dataview")},signal(){return r("signal")},fsevent(){return r("fsevent")},tlswrap(){return r("tlswrap")}}}const kf="[native code] }",p_=kf.length;function Nc(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-p_)===kf}class Yt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||m_).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Yt([...this.words])}}const m_={stringify(e){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255;t.push((r>>>4).toString(16),(r&15).toString(16))}return t.join("")}},g_={stringify(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=[];for(let r=0;r>>2]>>>24-r%4*8&255,s=e.words[r+1>>>2]>>>24-(r+1)%4*8&255,i=e.words[r+2>>>2]>>>24-(r+2)%4*8&255,a=o<<16|s<<8|i;for(let c=0;c<4&&r*8+c*6>>6*(3-c)&63))}return n.join("")}},y_={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Yt(n,t)}},__={parse(e){return y_.parse(unescape(encodeURIComponent(e)))}};class v_{constructor(){this._data=new Yt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Yt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=__.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_doProcessBlock(t,n){}_process(t){let n,r=this._data.sigBytes/(this.blockSize*4);t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const o=r*this.blockSize,s=Math.min(o*4,this._data.sigBytes);if(o){for(let i=0;i>>7)^(_<<14|_>>>18)^_>>>3,P=cn[d-2],S=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;cn[d]=g+cn[d-7]+S+cn[d-16]}const h=c&l^~c&u,m=o&s^o&i^s&i,p=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),y=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),v=f+y+h+w_[d]+cn[d],b=p+m;f=u,u=l,l=c,c=a+v|0,a=i,i=s,s=o,o=v+b|0}r[0]=r[0]+o|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0,r[5]=r[5]+l|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function C_(e){return new E_().finalize(e).toString(g_)}function ko(e,t={}){const n=typeof e=="string"?e:d_(e,t);return C_(n).slice(0,10)}const T_={path:"/",watch:!0,decode:e=>kr(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function lo(e,t){var s;const n={...T_,...t},r=P_(n)||{},o=ce(r[e]??((s=n.default)==null?void 0:s.call(n)));{const i=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),a=()=>{A_(e,o.value,n),i==null||i.postMessage(n.encode(o.value))};let c=!1;Ko()&&Qn(()=>{c=!0,a(),i==null||i.close()}),i&&(i.onmessage=l=>{c=!0,o.value=n.decode(l.data),Et(()=>{c=!1})}),n.watch?ye(o,()=>{c||a()},{deep:n.watch!=="shallow"}):a()}return o}function P_(e={}){return Vy(document.cookie,e)}function x_(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function A_(e,t,n={}){document.cookie=x_(e,t,n)}const S_=async e=>{const t=ge();e=Array.isArray(e)?e:[e],await Promise.all(e.map(n=>I_(t.vueApp._context.components[n])))},R_=e=>S_(e);function I_(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Of(e,t=ct()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Of(e,t));t._routePreloaded.add(n);const s=r.map(i=>{var a;return(a=i.components)==null?void 0:a.default}).filter(i=>typeof i=="function");for(const i of s){const a=Promise.resolve(i()).catch(()=>{}).finally(()=>o.splice(o.indexOf(a)));o.push(a)}await Promise.all(o)}function k_(e={}){const t=e.path||window.location.pathname;let n={};try{n=kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0),L_="noopener noreferrer";/*! @__NO_SIDE_EFFECTS__ */function $_(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;const s=e.trailingSlash==="append"?xo:vn;if(typeof r=="string")return s(r,!0);const i="path"in r?r.path:o(r).path;return{...r,name:void 0,path:s(i,!0)}};return Ae({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=ct(),i=ee(()=>{const f=r.to||r.href||"";return n(f,s.resolve)}),a=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof i.value=="object"?!1:i.value===""||en(i.value,{acceptRelative:!0})),c=ce(!1),l=ce(null),u=f=>{var d;l.value=r.custom?(d=f==null?void 0:f.$el)==null?void 0:d.nextElementSibling:f==null?void 0:f.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!N_()){const d=ge();let h,m=null;Nt(()=>{const p=M_();is(()=>{h=pi(()=>{var y;(y=l==null?void 0:l.value)!=null&&y.tagName&&(m=p.observe(l.value,async()=>{m==null||m(),m=null;const v=typeof i.value=="string"?i.value:s.resolve(i.value).fullPath;await Promise.all([d.hooks.callHook("link:prefetch",v).catch(()=>{}),!a.value&&Of(i.value,s).catch(()=>{})]),c.value=!0}))})})}),Gn(()=>{h&&r_(h),m==null||m(),m=null})}return()=>{var p,y;if(!a.value){const v={ref:u,to:i.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(c.value&&(v.class=r.prefetchedClass||e.prefetchedClass),v.rel=r.rel),et(Rp("RouterLink"),v,o.default)}const f=typeof i.value=="object"?((p=s.resolve(i.value))==null?void 0:p.href)??null:i.value||null,d=r.target||null,h=r.noRel?null:O_(r.rel,e.externalRelAttribute,f?L_:"")||null,m=()=>Rf(f,{replace:r.replace});return r.custom?o.default?o.default({href:f,navigate:m,get route(){if(!f)return;const v=jr(f);return{path:v.pathname,fullPath:v.pathname,get query(){return cf(v.search)},hash:v.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f}},rel:h,target:d,isExternal:a.value,isActive:!1,isExactActive:!1}):null:et("a",{ref:l,href:f,rel:h,target:d},(y=o.default)==null?void 0:y.call(o))}}})}const Br=$_(s_);function M_(){const e=ge();if(e._observer)return e._observer;let t=null;const n=new Map,r=(s,i)=>(t||(t=new IntersectionObserver(a=>{for(const c of a){const l=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function N_(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const D_={docus:{title:"vue-recaptcha",description:"Document for vue-recaptcha",url:"https://dansnow.github.io/vue-recaptcha",socials:{github:"DanSnow/vue-recaptcha"},github:{dir:"docs/content",owner:"DanSnow",repo:"vue-recaptcha",branch:"v3",edit:!0}}},H_={docus:{title:"Docus",description:"The best place to start your documentation.",url:"https://docus.dev",image:"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png",socials:{},layout:"default",header:{title:"",logo:!1,showLinkIcon:!1,fluid:!1,exclude:[]},aside:{level:0,collapsed:!1,exclude:[]},footer:{credits:{icon:"IconDocus",text:"Powered by Docus",href:"https://docus.dev"},textLinks:[],iconLinks:[],fluid:!1},github:{dir:void 0,branch:void 0,repo:void 0,owner:void 0,edit:!1}}},F_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},j_={},B_={nuxt:{buildId:"87dce3ed-cb68-4b5f-a28b-3b9ddc96cf0b"}},V_=By(D_,H_,F_,j_,B_);function ua(){const e=ge();return e._appConfig||(e._appConfig=tt(V_)),e._appConfig}let uo,Lf;function z_(){var n;const e=We(),t=(n=ua().nuxt)==null?void 0:n.buildId;return uo=$fetch(tn(e.app.cdnURL||e.app.baseURL,e.app.buildAssetsDir,`builds/meta/${t}.json`)),uo.then(r=>{Lf=jy(r.matcher)}),uo}function as(){return uo||z_()}async function $f(e){return await as(),Hn({},...Lf.matchAll(e).reverse())}function Hc(e,t={}){const n=U_(e,t),r=ge(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=K_().then(s=>s?Mf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Fc="json";function U_(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost"||en(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return tn(We().app.baseURL,n.pathname,r?`_payload.${r}.${Fc}`:`_payload.${Fc}`)}async function Mf(e){const t=fetch(e).then(n=>n.text().then(Nf));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function K_(e=at().path){if(ge().payload.prerenderedAt||(await as()).prerendered.includes(e))return!0;const r=await $f(e);return!!r.prerender&&!r.redirect}let no=null;async function W_(){if(no)return no;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=Nf(e.textContent||""),n=e.dataset.src?await Mf(e.dataset.src):void 0;return no={...t,...n,...window.__NUXT__},no}function Nf(e){return ty(e,ge()._payloadRevivers)}function q_(e,t){ge()._payloadRevivers[e]=t}const jc={NuxtError:e=>ss(e),EmptyShallowRef:e=>kt(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),EmptyRef:e=>ce(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),ShallowRef:e=>kt(e),ShallowReactive:e=>Qt(e),Ref:e=>ce(e),Reactive:e=>tt(e)},Q_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in jc)q_(r,jc[r]);Object.assign(e.payload,([t,n]=Or(()=>e.runWithContext(W_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),J_=[],Z_=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=My({plugins:J_});Ny(()=>ge().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Ef(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});/*! +`)},domwindow(){return r("domwindow")},bigint(o){return r("bigint:"+o.toString())},process(){return r("process")},timer(){return r("timer")},pipe(){return r("pipe")},tcp(){return r("tcp")},udp(){return r("udp")},tty(){return r("tty")},statwatcher(){return r("statwatcher")},securecontext(){return r("securecontext")},connection(){return r("connection")},zlib(){return r("zlib")},context(){return r("context")},nodescript(){return r("nodescript")},httpparser(){return r("httpparser")},dataview(){return r("dataview")},signal(){return r("signal")},fsevent(){return r("fsevent")},tlswrap(){return r("tlswrap")}}}const kf="[native code] }",p_=kf.length;function Nc(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-p_)===kf}class Yt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||m_).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new Yt([...this.words])}}const m_={stringify(e){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255;t.push((r>>>4).toString(16),(r&15).toString(16))}return t.join("")}},g_={stringify(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=[];for(let r=0;r>>2]>>>24-r%4*8&255,s=e.words[r+1>>>2]>>>24-(r+1)%4*8&255,i=e.words[r+2>>>2]>>>24-(r+2)%4*8&255,a=o<<16|s<<8|i;for(let c=0;c<4&&r*8+c*6>>6*(3-c)&63))}return n.join("")}},y_={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Yt(n,t)}},__={parse(e){return y_.parse(unescape(encodeURIComponent(e)))}};class v_{constructor(){this._data=new Yt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Yt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=__.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_doProcessBlock(t,n){}_process(t){let n,r=this._data.sigBytes/(this.blockSize*4);t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const o=r*this.blockSize,s=Math.min(o*4,this._data.sigBytes);if(o){for(let i=0;i>>7)^(_<<14|_>>>18)^_>>>3,P=cn[d-2],S=(P<<15|P>>>17)^(P<<13|P>>>19)^P>>>10;cn[d]=g+cn[d-7]+S+cn[d-16]}const h=c&l^~c&u,m=o&s^o&i^s&i,p=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),y=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),v=f+y+h+w_[d]+cn[d],b=p+m;f=u,u=l,l=c,c=a+v|0,a=i,i=s,s=o,o=v+b|0}r[0]=r[0]+o|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0,r[5]=r[5]+l|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function C_(e){return new E_().finalize(e).toString(g_)}function ko(e,t={}){const n=typeof e=="string"?e:d_(e,t);return C_(n).slice(0,10)}const T_={path:"/",watch:!0,decode:e=>kr(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function lo(e,t){var s;const n={...T_,...t},r=P_(n)||{},o=ce(r[e]??((s=n.default)==null?void 0:s.call(n)));{const i=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),a=()=>{A_(e,o.value,n),i==null||i.postMessage(n.encode(o.value))};let c=!1;Ko()&&Qn(()=>{c=!0,a(),i==null||i.close()}),i&&(i.onmessage=l=>{c=!0,o.value=n.decode(l.data),Et(()=>{c=!1})}),n.watch?ye(o,()=>{c||a()},{deep:n.watch!=="shallow"}):a()}return o}function P_(e={}){return Vy(document.cookie,e)}function x_(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function A_(e,t,n={}){document.cookie=x_(e,t,n)}const S_=async e=>{const t=ge();e=Array.isArray(e)?e:[e],await Promise.all(e.map(n=>I_(t.vueApp._context.components[n])))},R_=e=>S_(e);function I_(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Of(e,t=ct()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(n)))return;const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>Of(e,t));t._routePreloaded.add(n);const s=r.map(i=>{var a;return(a=i.components)==null?void 0:a.default}).filter(i=>typeof i=="function");for(const i of s){const a=Promise.resolve(i()).catch(()=>{}).finally(()=>o.splice(o.indexOf(a)));o.push(a)}await Promise.all(o)}function k_(e={}){const t=e.path||window.location.pathname;let n={};try{n=kr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires)e.find(t=>t!==void 0),L_="noopener noreferrer";/*! @__NO_SIDE_EFFECTS__ */function $_(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;const s=e.trailingSlash==="append"?xo:vn;if(typeof r=="string")return s(r,!0);const i="path"in r?r.path:o(r).path;return{...r,name:void 0,path:s(i,!0)}};return Ae({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(r,{slots:o}){const s=ct(),i=ee(()=>{const f=r.to||r.href||"";return n(f,s.resolve)}),a=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof i.value=="object"?!1:i.value===""||en(i.value,{acceptRelative:!0})),c=ce(!1),l=ce(null),u=f=>{var d;l.value=r.custom?(d=f==null?void 0:f.$el)==null?void 0:d.nextElementSibling:f==null?void 0:f.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!N_()){const d=ge();let h,m=null;Nt(()=>{const p=M_();is(()=>{h=pi(()=>{var y;(y=l==null?void 0:l.value)!=null&&y.tagName&&(m=p.observe(l.value,async()=>{m==null||m(),m=null;const v=typeof i.value=="string"?i.value:s.resolve(i.value).fullPath;await Promise.all([d.hooks.callHook("link:prefetch",v).catch(()=>{}),!a.value&&Of(i.value,s).catch(()=>{})]),c.value=!0}))})})}),Gn(()=>{h&&r_(h),m==null||m(),m=null})}return()=>{var p,y;if(!a.value){const v={ref:u,to:i.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(c.value&&(v.class=r.prefetchedClass||e.prefetchedClass),v.rel=r.rel),et(Rp("RouterLink"),v,o.default)}const f=typeof i.value=="object"?((p=s.resolve(i.value))==null?void 0:p.href)??null:i.value||null,d=r.target||null,h=r.noRel?null:O_(r.rel,e.externalRelAttribute,f?L_:"")||null,m=()=>Rf(f,{replace:r.replace});return r.custom?o.default?o.default({href:f,navigate:m,get route(){if(!f)return;const v=jr(f);return{path:v.pathname,fullPath:v.pathname,get query(){return cf(v.search)},hash:v.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f}},rel:h,target:d,isExternal:a.value,isActive:!1,isExactActive:!1}):null:et("a",{ref:l,href:f,rel:h,target:d},(y=o.default)==null?void 0:y.call(o))}}})}const Br=$_(s_);function M_(){const e=ge();if(e._observer)return e._observer;let t=null;const n=new Map,r=(s,i)=>(t||(t=new IntersectionObserver(a=>{for(const c of a){const l=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),n.set(s,i),t.observe(s),()=>{n.delete(s),t.unobserve(s),n.size===0&&(t.disconnect(),t=null)});return e._observer={observe:r}}function N_(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const D_={docus:{title:"vue-recaptcha",description:"Document for vue-recaptcha",url:"https://dansnow.github.io/vue-recaptcha",socials:{github:"DanSnow/vue-recaptcha"},github:{dir:"docs/content",owner:"DanSnow",repo:"vue-recaptcha",branch:"v3",edit:!0}}},H_={docus:{title:"Docus",description:"The best place to start your documentation.",url:"https://docus.dev",image:"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png",socials:{},layout:"default",header:{title:"",logo:!1,showLinkIcon:!1,fluid:!1,exclude:[]},aside:{level:0,collapsed:!1,exclude:[]},footer:{credits:{icon:"IconDocus",text:"Powered by Docus",href:"https://docus.dev"},textLinks:[],iconLinks:[],fluid:!1},github:{dir:void 0,branch:void 0,repo:void 0,owner:void 0,edit:!1}}},F_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},j_={},B_={nuxt:{buildId:"9ce7ac57-00c3-4da6-bc51-adf6ef24b928"}},V_=By(D_,H_,F_,j_,B_);function ua(){const e=ge();return e._appConfig||(e._appConfig=tt(V_)),e._appConfig}let uo,Lf;function z_(){var n;const e=We(),t=(n=ua().nuxt)==null?void 0:n.buildId;return uo=$fetch(tn(e.app.cdnURL||e.app.baseURL,e.app.buildAssetsDir,`builds/meta/${t}.json`)),uo.then(r=>{Lf=jy(r.matcher)}),uo}function as(){return uo||z_()}async function $f(e){return await as(),Hn({},...Lf.matchAll(e).reverse())}function Hc(e,t={}){const n=U_(e,t),r=ge(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=K_().then(s=>s?Mf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Fc="json";function U_(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost"||en(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return tn(We().app.baseURL,n.pathname,r?`_payload.${r}.${Fc}`:`_payload.${Fc}`)}async function Mf(e){const t=fetch(e).then(n=>n.text().then(Nf));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function K_(e=at().path){if(ge().payload.prerenderedAt||(await as()).prerendered.includes(e))return!0;const r=await $f(e);return!!r.prerender&&!r.redirect}let no=null;async function W_(){if(no)return no;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=Nf(e.textContent||""),n=e.dataset.src?await Mf(e.dataset.src):void 0;return no={...t,...n,...window.__NUXT__},no}function Nf(e){return ty(e,ge()._payloadRevivers)}function q_(e,t){ge()._payloadRevivers[e]=t}const jc={NuxtError:e=>ss(e),EmptyShallowRef:e=>kt(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),EmptyRef:e=>ce(e==="_"?void 0:e==="0n"?BigInt(0):kr(e)),ShallowRef:e=>kt(e),ShallowReactive:e=>Qt(e),Ref:e=>ce(e),Reactive:e=>tt(e)},Q_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in jc)q_(r,jc[r]);Object.assign(e.payload,([t,n]=Or(()=>e.runWithContext(W_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),J_=[],Z_=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=My({plugins:J_});Ny(()=>ge().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Ef(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const An=typeof window<"u";function Y_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function ks(e,t){const n={};for(const r in t){const o=t[r];n[r]=ht(o)?o.map(e):e(o)}return n}const _r=()=>{},ht=Array.isArray,G_=/\/$/,X_=e=>e.replace(G_,"");function Os(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let c=t.indexOf("?");return a=0&&(c=-1),c>-1&&(r=t.slice(0,c),s=t.slice(c+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=rv(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function ev(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Bc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function tv(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Un(t.matched[r],n.matched[o])&&Df(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Un(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Df(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!nv(e[n],t[n]))return!1;return!0}function nv(e,t){return ht(e)?Vc(e,t):ht(t)?Vc(t,e):e===t}function Vc(e,t){return ht(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function rv(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var $r;(function(e){e.pop="pop",e.push="push"})($r||($r={}));var vr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(vr||(vr={}));function ov(e){if(!e)if(An){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),X_(e)}const sv=/^[^#]+#/;function iv(e,t){return e.replace(sv,"#")+t}function av(e,t){const 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)}}const cs=()=>({left:window.pageXOffset,top:window.pageYOffset});function cv(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=av(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function zc(e,t){return(history.state?history.state.position-t:-1)+e}const gi=new Map;function lv(e,t){gi.set(e,t)}function uv(e){const t=gi.get(e);return gi.delete(e),t}let fv=()=>location.protocol+"//"+location.host;function Hf(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),Bc(c,"")}return Bc(n,e)+r+o}function dv(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=Hf(e,location),m=n.value,p=t.value;let y=0;if(d){if(n.value=h,t.value=d,i&&i===m){i=null;return}y=p?d.position-p.position:0}else r(h);o.forEach(v=>{v(n.value,m,{delta:y,type:$r.pop,direction:y?y>0?vr.forward:vr.back:vr.unknown})})};function c(){i=n.value}function l(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:cs()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Uc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?cs():null}}function hv(e){const{history:t,location:n}=window,r={value:Hf(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:fv()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),o.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(c,l){const u=ve({},t.state,Uc(o.value.back,c,o.value.forward,!0),l,{position:o.value.position});s(c,u,!0),r.value=c}function a(c,l){const u=ve({},o.value,t.state,{forward:c,scroll:cs()});s(u.current,u,!0);const f=ve({},Uc(r.value,c,null),{position:u.position+1},l);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function Ff(e){e=ov(e);const t=hv(e),n=dv(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ve({location:"",base:e,go:r,createHref:iv.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function pv(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Ff(e)}function mv(e){return typeof e=="string"||e&&typeof e=="object"}function jf(e){return typeof e=="string"||typeof e=="symbol"}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bf=Symbol("");var Kc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Kc||(Kc={}));function Kn(e,t){return ve(new Error,{type:e,[Bf]:!0},t)}function Ct(e,t){return e instanceof Error&&Bf in e&&(t==null||!!(e.type&t))}const Wc="[^/]+?",gv={sensitive:!1,strict:!1,start:!0,end:!0},yv=/[.+*?^${}()[\]/\\]/g;function _v(e,t){const n=ve({},gv,t),r=[];let o=n.start?"^":"";const s=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function bv(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const wv={type:0,value:""},Ev=/[a-zA-Z0-9_]/;function Cv(e){if(!e)return[[]];if(e==="/")return[[wv]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,l="",u="";function f(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{i(b)}:_r}function i(u){if(jf(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Vf(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Jc(u)&&r.set(u.record.name,u)}function l(u,f){let d,h={},m,p;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw Kn(1,{location:u});p=d.record.name,h=ve(Qc(f.params,d.keys.filter(b=>!b.optional).map(b=>b.name)),u.params&&Qc(u.params,d.keys.map(b=>b.name))),m=d.stringify(h)}else if("path"in u)m=u.path,d=n.find(b=>b.re.test(m)),d&&(h=d.parse(m),p=d.record.name);else{if(d=f.name?r.get(f.name):n.find(b=>b.re.test(f.path)),!d)throw Kn(1,{location:u,currentLocation:f});p=d.record.name,h=ve({},f.params,u.params),m=d.stringify(h)}const y=[];let v=d;for(;v;)y.unshift(v.record),v=v.parent;return{name:p,path:m,params:h,matched:y,meta:Sv(y)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:l,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function Qc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function xv(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Av(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Av(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Jc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Sv(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function Zc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Vf(e,t){return t.children.some(n=>n===e||Vf(e,n))}const zf=/#/g,Rv=/&/g,Iv=/\//g,kv=/=/g,Ov=/\?/g,Uf=/\+/g,Lv=/%5B/g,$v=/%5D/g,Kf=/%5E/g,Mv=/%60/g,Wf=/%7B/g,Nv=/%7C/g,qf=/%7D/g,Dv=/%20/g;function fa(e){return encodeURI(""+e).replace(Nv,"|").replace(Lv,"[").replace($v,"]")}function Hv(e){return fa(e).replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function yi(e){return fa(e).replace(Uf,"%2B").replace(Dv,"+").replace(zf,"%23").replace(Rv,"%26").replace(Mv,"`").replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function Fv(e){return yi(e).replace(kv,"%3D")}function jv(e){return fa(e).replace(zf,"%23").replace(Ov,"%3F")}function Bv(e){return e==null?"":jv(e).replace(Iv,"%2F")}function Oo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Vv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&yi(s)):[r&&yi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function zv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ht(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Uv=Symbol(""),Gc=Symbol(""),da=Symbol(""),ha=Symbol(""),_i=Symbol("");function or(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Kt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=f=>{f===!1?a(Kn(4,{from:n,to:t})):f instanceof Error?a(f):mv(f)?a(Kn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},l=e.call(r&&r.instances[o],t,n,c);let u=Promise.resolve(l);e.length<3&&(u=u.then(c)),u.catch(f=>a(f))})}function Ls(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let a=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(Kv(a)){const l=(a.__vccOpts||a)[t];l&&o.push(Kt(l,n,r,s,i))}else{let c=a();o.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=Y_(l)?l.default:l;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&Kt(d,n,r,s,i)()}))}}return o}function Kv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Xc(e){const t=De(da),n=De(ha),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Un.bind(null,u));if(d>-1)return d;const h=el(c[l-2]);return l>1&&el(u)===h&&f[f.length-1].path!==h?f.findIndex(Un.bind(null,c[l-2])):d}),s=ee(()=>o.value>-1&&Jv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&Df(n.params,r.value.params));function a(c={}){return Qv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(_r):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const Wv=Ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xc,setup(e,{slots:t}){const n=tt(Xc(e)),{options:r}=De(da),o=ee(()=>({[tl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[tl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:et("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),qv=Wv;function Qv(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Jv(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ht(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function el(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const tl=(e,t,n)=>e??t??n,Zv=Ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=De(_i),o=ee(()=>e.route||r.value),s=De(Gc,0),i=ee(()=>{let l=M(s);const{matched:u}=o.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=ee(()=>o.value.matched[i.value]);Nn(Gc,ee(()=>i.value+1)),Nn(Uv,a),Nn(_i,o);const c=ce();return ye(()=>[c.value,a.value,e.name],([l,u,f],[d,h,m])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!Un(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return nl(n.default,{Component:d,route:l});const h=f.props[u],m=h?h===!0?l.params:typeof h=="function"?h(l):h:null,y=et(d,ve({},m,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return nl(n.default,{Component:y,route:l})||y}}});function nl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qf=Zv;function Yv(e){const t=Pv(e.routes,e),n=e.parseQuery||Vv,r=e.stringifyQuery||Yc,o=e.history,s=or(),i=or(),a=or(),c=kt(yt);let l=yt;An&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ks.bind(null,$=>""+$),f=ks.bind(null,Bv),d=ks.bind(null,Oo);function h($,Y){let W,X;return jf($)?(W=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,W)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function v($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const A=Os(n,$,Y.path),O=t.resolve({path:A.path},Y),D=o.createHref(A.fullPath);return ve(A,O,{params:d(O.params),hash:Oo(A.hash),redirectedFrom:void 0,href:D})}let W;if("path"in $)W=ve({},$,{path:Os(n,$.path,Y.path).path});else{const A=ve({},$.params);for(const O in A)A[O]==null&&delete A[O];W=ve({},$,{params:f(A)}),Y.params=f(Y.params)}const X=t.resolve(W,Y),_e=$.hash||"";X.params=u(d(X.params));const w=ev(r,ve({},$,{hash:Hv(_e),path:X.path})),E=o.createHref(w);return ve({fullPath:w,hash:_e,query:r===Yc?zv($.query):$.query||{}},X,{redirectedFrom:void 0,href:E})}function b($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function _($,Y){if(l!==$)return Kn(8,{from:Y,to:$})}function g($){return I($)}function P($){return g(ve(b($),{replace:!0}))}function S($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:W}=Y;let X=typeof W=="function"?W($):W;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=b(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const W=l=v($),X=c.value,_e=$.state,w=$.force,E=$.replace===!0,A=S(W);if(A)return I(ve(b(A),{state:typeof A=="object"?ve({},_e,A.state):_e,force:w,replace:E}),Y||W);const O=W;O.redirectedFrom=Y;let D;return!w&&tv(r,X,W)&&(D=Kn(16,{to:O,from:X}),Le(X,X,!0,!1)),(D?Promise.resolve(D):R(O,X)).catch(F=>Ct(F)?Ct(F,2)?F:Oe(F):U(F,O,X)).then(F=>{if(F){if(Ct(F,2))return I(ve({replace:E},b(F.to),{state:typeof F.to=="object"?ve({},_e,F.to.state):_e,force:w}),Y||O)}else F=C(O,X,!0,E,_e);return T(O,X,F),F})}function k($,Y){const W=_($,Y);return W?Promise.reject(W):Promise.resolve()}function H($){const Y=nt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function R($,Y){let W;const[X,_e,w]=Gv($,Y);W=Ls(X.reverse(),"beforeRouteLeave",$,Y);for(const A of X)A.leaveGuards.forEach(O=>{W.push(Kt(O,$,Y))});const E=k.bind(null,$,Y);return W.push(E),Re(W).then(()=>{W=[];for(const A of s.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).then(()=>{W=Ls(_e,"beforeRouteUpdate",$,Y);for(const A of _e)A.updateGuards.forEach(O=>{W.push(Kt(O,$,Y))});return W.push(E),Re(W)}).then(()=>{W=[];for(const A of w)if(A.beforeEnter)if(ht(A.beforeEnter))for(const O of A.beforeEnter)W.push(Kt(O,$,Y));else W.push(Kt(A.beforeEnter,$,Y));return W.push(E),Re(W)}).then(()=>($.matched.forEach(A=>A.enterCallbacks={}),W=Ls(w,"beforeRouteEnter",$,Y),W.push(E),Re(W))).then(()=>{W=[];for(const A of i.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).catch(A=>Ct(A,8)?A:Promise.reject(A))}function T($,Y,W){a.list().forEach(X=>H(()=>X($,Y,W)))}function C($,Y,W,X,_e){const w=_($,Y);if(w)return w;const E=Y===yt,A=An?history.state:{};W&&(X||E?o.replace($.fullPath,ve({scroll:E&&A&&A.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Le($,Y,W,E),Oe()}let x;function V(){x||(x=o.listen(($,Y,W)=>{if(!mt.listening)return;const X=v($),_e=S(X);if(_e){I(ve(_e,{replace:!0}),X).catch(_r);return}l=X;const w=c.value;An&&lv(zc(w.fullPath,W.delta),cs()),R(X,w).catch(E=>Ct(E,12)?E:Ct(E,2)?(I(E.to,X).then(A=>{Ct(A,20)&&!W.delta&&W.type===$r.pop&&o.go(-1,!1)}).catch(_r),Promise.reject()):(W.delta&&o.go(-W.delta,!1),U(E,X,w))).then(E=>{E=E||C(X,w,!1),E&&(W.delta&&!Ct(E,8)?o.go(-W.delta,!1):W.type===$r.pop&&Ct(E,20)&&o.go(-1,!1)),T(X,w,E)}).catch(_r)}))}let J=or(),B=or(),Q;function U($,Y,W){Oe($);const X=B.list();return X.length?X.forEach(_e=>_e($,Y,W)):console.error($),Promise.reject($)}function he(){return Q&&c.value!==yt?Promise.resolve():new Promise(($,Y)=>{J.add([$,Y])})}function Oe($){return Q||(Q=!$,V(),J.list().forEach(([Y,W])=>$?W($):Y()),J.reset()),$}function Le($,Y,W,X){const{scrollBehavior:_e}=e;if(!An||!_e)return Promise.resolve();const w=!W&&uv(zc($.fullPath,0))||(X||!W)&&history.state&&history.state.scroll||null;return Et().then(()=>_e($,Y,w)).then(E=>E&&cv(E)).catch(E=>U(E,$,Y))}const we=$=>o.go($);let ze;const nt=new Set,mt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:v,options:e,push:g,replace:P,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:B.add,isReady:he,install($){const Y=this;$.component("RouterLink",qv),$.component("RouterView",Qf),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),An&&!ze&&c.value===yt&&(ze=!0,g(o.location).catch(_e=>{}));const W={};for(const _e in yt)Object.defineProperty(W,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(da,Y),$.provide(ha,Qt(W)),$.provide(_i,c);const X=$.unmount;nt.add($),$.unmount=function(){nt.delete($),nt.size<1&&(l=yt,x&&x(),x=null,c.value=yt,ze=!1,Q=!1),X()}}};function Re($){return $.reduce((Y,W)=>Y.then(()=>H(W)),Promise.resolve())}return mt}function Gv(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iUn(l,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(l=>Un(l,c))||o.push(c))}return[n,r,o]}function ix(){return De(ha)}const rl=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:void 0,component:()=>L(()=>import("./document-driven.eda7789d.js"),["./document-driven.eda7789d.js","./DocumentDrivenEmpty.a7380757.js","./ContentRenderer.301e652b.js","./ContentRendererMarkdown.vue.498723d7.js","./DocumentDrivenNotFound.9e790dc8.js","./ButtonLink.be07cd74.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default||e)}],Xv={scrollBehavior(e,t,n){if(!history.state.stop){if(history.state.smooth)return{el:history.state.smooth,behavior:"smooth"};if(e.hash){const r=document.querySelector(e.hash);if(!r)return;const{marginTop:o}=getComputedStyle(r),s=parseInt(o);return{top:document.querySelector(e.hash).offsetTop-s,behavior:"smooth"}}return n||{top:0}}}},e0={scrollBehavior(e,t,n){var l;const r=ge(),o=((l=ct().options)==null?void 0:l.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&t0(t,e)&&(s={left:0,top:0}),e.path===t.path){if(t.hash&&!e.hash)return{left:0,top:0};if(e.hash)return{el:e.hash,top:ol(e.hash),behavior:o}}const a=u=>!!(u.meta.pageTransition??mi),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(c,async()=>{await Et(),e.hash&&(s={el:e.hash,top:ol(e.hash),behavior:o}),u(s)})})}};function ol(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}function t0(e,t){return t.path!==e.path||JSON.stringify(e.params)!==JSON.stringify(t.params)}const n0={},qe={...n0,...e0,...Xv},r0=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ge(),o=ct();if(([t,n]=Or(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=ss({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`}),a=o.beforeResolve(l=>{if(a(),l===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>Rn(i)),window.history.pushState({},"",e.fullPath)});return!1}})},o0=async e=>{let t,n;const r=([t,n]=Or(()=>$f(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},s0=[r0,o0],br={};function i0(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const l=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(l);return u[0]!=="/"&&(u="/"+u),Ec(u,"")}const a=Ec(r,e),c=!n||dg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const a0=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=We().app.baseURL;qe.hashMode&&!r.includes("#")&&(r+="#");const o=((p=qe.history)==null?void 0:p.call(qe,r))??(qe.hashMode?pv(r):Ff(r)),s=((y=qe.routes)==null?void 0:y.call(qe,rl))??rl;let i;const a=i0(r,window.location,e.payload.path),c=Yv({...qe,scrollBehavior:(v,b,_)=>{var g;if(b===yt){i=_;return}return c.options.scrollBehavior=qe.scrollBehavior,(g=qe.scrollBehavior)==null?void 0:g.call(qe,v,yt,i||_)},history:o,routes:s});e.vueApp.use(c);const l=kt(c.currentRoute.value);c.afterEach((v,b)=>{l.value=b}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=kt(c.resolve(a)),f=()=>{u.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((v,b)=>{var _,g,P,S;((g=(_=v.matched[0])==null?void 0:_.components)==null?void 0:g.default)===((S=(P=b.matched[0])==null?void 0:P.components)==null?void 0:S.default)&&f()});const d={};for(const v in u.value)Object.defineProperty(d,v,{get:()=>u.value[v]});e._route=Qt(d),e._middleware=e._middleware||{global:[],named:{}};const h=os();try{[t,n]=Or(()=>c.isReady()),await t,n()}catch(v){[t,n]=Or(()=>e.runWithContext(()=>Rn(v))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(v,b)=>{var _;v.meta=tt(v.meta),e.isHydrating&&m&&!_n(v.meta.layout)&&(v.meta.layout=m),e._processingMiddleware=!0;{const g=new Set([...s0,...e._middleware.global]);for(const P of v.matched){const S=P.meta.middleware;if(S)if(Array.isArray(S))for(const I of S)g.add(I);else g.add(S)}for(const P of g){const S=typeof P=="string"?e._middleware.named[P]||await((_=br[P])==null?void 0:_.call(br).then(k=>k.default||k)):P;if(!S)throw new Error(`Unknown route middleware: '${P}'.`);const I=await e.runWithContext(()=>S(v,b));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const k=I||di({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>Rn(k)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(()=>{delete e._processingMiddleware}),c.afterEach(async(v,b,_)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(t_),v.matched.length===0&&await e.runWithContext(()=>Rn(di({statusCode:404,fatal:!1,statusMessage:`Page not found: ${v.fullPath}`})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=qe.scrollBehavior}catch(v){await e.runWithContext(()=>Rn(v))}}),{provide:{router:c}}}}),c0=Be({name:"nuxt:payload",setup(e){ct().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Hc(t.path);r&&Object.assign(e.static.data,r.data)}),is(()=>{var t;e.hooks.hook("link:prefetch",async n=>{jr(n).protocol||await Hc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(as,1e3)})}}),l0=N(()=>L(()=>import("./ChallengeV2Demo.a6d088c7.js"),["./ChallengeV2Demo.a6d088c7.js","./PrimaryButton.f4f8ca29.js","./ChallengeV2.vue.60d977f0.js","./component-v2.05f6057d.js"],import.meta.url).then(e=>e.default)),u0=N(()=>L(()=>import("./ChallengeV3Demo.f78ed68a.js"),["./ChallengeV3Demo.f78ed68a.js","./PrimaryButton.f4f8ca29.js","./ChallengeV3.vue.f80b4ea1.js"],import.meta.url).then(e=>e.default)),f0=N(()=>L(()=>import("./CheckboxDemo.81292d3d.js"),["./CheckboxDemo.81292d3d.js","./ThemeButton.vue.b3d3d21a.js","./Checkbox.vue.e1e63870.js","./component-v2.05f6057d.js"],import.meta.url).then(e=>e.default)),d0=N(()=>L(()=>import("./IndexDemo.a6de7ca2.js"),["./IndexDemo.a6de7ca2.js","./Card.60fb4ab4.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),h0=N(()=>L(()=>import("./Mermaid.60c6be54.js"),["./Mermaid.60c6be54.js","./mermaid.core.6d8597df.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),p0=N(()=>L(()=>import("./PrimaryButton.f4f8ca29.js"),[],import.meta.url).then(e=>e.default)),m0=N(()=>L(()=>import("./ThemeButton.22e5afa3.js"),["./ThemeButton.22e5afa3.js","./ThemeButton.vue.b3d3d21a.js"],import.meta.url).then(e=>e.default)),g0=N(()=>L(()=>import("./VeeValidateCheckbox.113c9f24.js"),["./VeeValidateCheckbox.113c9f24.js","./Checkbox.vue.e1e63870.js","./component-v2.05f6057d.js","./PrimaryButton.f4f8ca29.js","./index.esm.46f16923.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),y0=N(()=>L(()=>import("./VeeValidateInvisible.8b40a9ed.js"),["./VeeValidateInvisible.8b40a9ed.js","./PrimaryButton.f4f8ca29.js","./ChallengeV2.vue.60d977f0.js","./component-v2.05f6057d.js","./index.esm.46f16923.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),_0=N(()=>L(()=>Promise.resolve().then(()=>RC),void 0,import.meta.url).then(e=>e.default)),v0=N(()=>L(()=>Promise.resolve().then(()=>QP),void 0,import.meta.url).then(e=>e.default)),b0=N(()=>L(()=>Promise.resolve().then(()=>jP),void 0,import.meta.url).then(e=>e.default)),w0=N(()=>L(()=>Promise.resolve().then(()=>lC),void 0,import.meta.url).then(e=>e.default)),E0=N(()=>L(()=>Promise.resolve().then(()=>wC),void 0,import.meta.url).then(e=>e.default)),C0=N(()=>L(()=>Promise.resolve().then(()=>TC),void 0,import.meta.url).then(e=>e.default)),T0=N(()=>L(()=>Promise.resolve().then(()=>GP),void 0,import.meta.url).then(e=>e.default)),P0=N(()=>L(()=>Promise.resolve().then(()=>Uw),void 0,import.meta.url).then(e=>e.default)),x0=N(()=>L(()=>Promise.resolve().then(()=>PP),void 0,import.meta.url).then(e=>e.default)),A0=N(()=>L(()=>Promise.resolve().then(()=>XE),void 0,import.meta.url).then(e=>e.default)),S0=N(()=>L(()=>import("./DocumentDrivenNotFound.9e790dc8.js"),["./DocumentDrivenNotFound.9e790dc8.js","./ButtonLink.be07cd74.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default)),R0=N(()=>L(()=>import("./Ellipsis.9363fc3d.js"),["./Ellipsis.9363fc3d.js","./Ellipsis.96015b79.css"],import.meta.url).then(e=>e.default)),I0=N(()=>L(()=>Promise.resolve().then(()=>mC),void 0,import.meta.url).then(e=>e.default)),k0=N(()=>L(()=>Promise.resolve().then(()=>OP),void 0,import.meta.url).then(e=>e.default)),O0=N(()=>L(()=>import("./DocsAside.86314fc7.js"),["./DocsAside.86314fc7.js","./DocsAside.214f9128.css"],import.meta.url).then(e=>e.default)),L0=N(()=>L(()=>Promise.resolve().then(()=>sC),void 0,import.meta.url).then(e=>e.default)),$0=N(()=>L(()=>import("./DocsPageBottom.2edd582e.js"),["./DocsPageBottom.2edd582e.js","./ProseA.1e07e3b7.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b1c415a.js","./DocsPageBottom.995408e3.css"],import.meta.url).then(e=>e.default)),M0=N(()=>L(()=>import("./DocsPageLayout.0dafd259.js"),["./DocsPageLayout.0dafd259.js","./DocsAside.86314fc7.js","./DocsAside.214f9128.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.2edd582e.js","./ProseA.1e07e3b7.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b1c415a.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.7f7ab9fd.js","./DocsPrevNext.5cd1832c.css","./DocsToc.fca90c35.js","./DocsTocLinks.70fbf435.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css"],import.meta.url).then(e=>e.default)),N0=N(()=>L(()=>import("./DocsPrevNext.7f7ab9fd.js"),["./DocsPrevNext.7f7ab9fd.js","./DocsPrevNext.5cd1832c.css"],import.meta.url).then(e=>e.default)),D0=N(()=>L(()=>import("./DocsToc.fca90c35.js"),["./DocsToc.fca90c35.js","./DocsTocLinks.70fbf435.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css"],import.meta.url).then(e=>e.default)),H0=N(()=>L(()=>import("./DocsTocLinks.70fbf435.js"),["./DocsTocLinks.70fbf435.js","./DocsTocLinks.18d3dd4c.css"],import.meta.url).then(e=>e.default)),F0=N(()=>L(()=>import("./EditOnLink.fb7500ff.js"),["./EditOnLink.fb7500ff.js","./EditOnLink.vue.5b1c415a.js"],import.meta.url).then(e=>e.default)),j0=N(()=>L(()=>import("./SourceLink.5afa9492.js"),["./SourceLink.5afa9492.js","./ProseP.6f520d03.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),B0=N(()=>L(()=>import("./ProseA.1e07e3b7.js"),["./ProseA.1e07e3b7.js","./ProseA.3ccdc3d4.css"],import.meta.url).then(e=>e.default)),V0=N(()=>L(()=>import("./ProseBlockquote.83a198b5.js"),["./ProseBlockquote.83a198b5.js","./ProseBlockquote.9b44c541.css"],import.meta.url).then(e=>e.default)),z0=N(()=>L(()=>import("./ProseCode.6f638cb3.js"),["./ProseCode.6f638cb3.js","./ProseCode.4d67527c.css"],import.meta.url).then(e=>e.default)),U0=N(()=>L(()=>import("./ProseCodeInline.b8352ab0.js"),["./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css"],import.meta.url).then(e=>e.default)),K0=N(()=>L(()=>import("./ProseEm.afdd4669.js"),["./ProseEm.afdd4669.js","./ProseEm.f450adf9.css"],import.meta.url).then(e=>e.default)),W0=N(()=>L(()=>import("./ProseH1.206d23c3.js"),["./ProseH1.206d23c3.js","./ProseH1.947db9d1.css"],import.meta.url).then(e=>e.default)),q0=N(()=>L(()=>import("./ProseH2.d7e869ee.js"),["./ProseH2.d7e869ee.js","./ProseH2.7deacf3b.css"],import.meta.url).then(e=>e.default)),Q0=N(()=>L(()=>import("./ProseH3.202c0d8e.js"),["./ProseH3.202c0d8e.js","./ProseH3.a54ffcda.css"],import.meta.url).then(e=>e.default)),J0=N(()=>L(()=>import("./ProseH4.a256f8e8.js"),["./ProseH4.a256f8e8.js","./ProseH4.c1de1bd7.css"],import.meta.url).then(e=>e.default)),Z0=N(()=>L(()=>import("./ProseH5.a5742ebc.js"),["./ProseH5.a5742ebc.js","./ProseH5.c1fb54ee.css"],import.meta.url).then(e=>e.default)),Y0=N(()=>L(()=>import("./ProseH6.26705e6e.js"),["./ProseH6.26705e6e.js","./ProseH6.ffba47c6.css"],import.meta.url).then(e=>e.default)),G0=N(()=>L(()=>import("./ProseHr.0de9504d.js"),["./ProseHr.0de9504d.js","./ProseHr.51d378cd.css"],import.meta.url).then(e=>e.default)),X0=N(()=>L(()=>import("./ProseImg.ca319b2b.js"),["./ProseImg.ca319b2b.js","./ProseImg.9ec4cf0b.css"],import.meta.url).then(e=>e.default)),eb=N(()=>L(()=>import("./ProseLi.d717e006.js"),["./ProseLi.d717e006.js","./ProseLi.56cd83cc.css"],import.meta.url).then(e=>e.default)),tb=N(()=>L(()=>import("./ProseOl.34fa238a.js"),["./ProseOl.34fa238a.js","./ProseOl.8e9c36b1.css"],import.meta.url).then(e=>e.default)),nb=N(()=>L(()=>import("./ProseP.6f520d03.js"),["./ProseP.6f520d03.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),rb=N(()=>L(()=>import("./ProseStrong.024252fc.js"),["./ProseStrong.024252fc.js","./ProseStrong.a14f2f4f.css"],import.meta.url).then(e=>e.default)),ob=N(()=>L(()=>import("./ProseTable.64fc60e6.js"),["./ProseTable.64fc60e6.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),sb=N(()=>L(()=>import("./ProseTbody.92747366.js"),[],import.meta.url).then(e=>e.default)),ib=N(()=>L(()=>import("./ProseTd.765a7462.js"),["./ProseTd.765a7462.js","./ProseTd.8301ae56.css"],import.meta.url).then(e=>e.default)),ab=N(()=>L(()=>import("./ProseTh.9385b277.js"),["./ProseTh.9385b277.js","./ProseTh.366c0ecd.css"],import.meta.url).then(e=>e.default)),cb=N(()=>L(()=>import("./ProseThead.4aa296f7.js"),["./ProseThead.4aa296f7.js","./ProseThead.ff3d08af.css"],import.meta.url).then(e=>e.default)),lb=N(()=>L(()=>import("./ProseTr.549babfe.js"),["./ProseTr.549babfe.js","./ProseTr.16cbe189.css"],import.meta.url).then(e=>e.default)),ub=N(()=>L(()=>import("./ProseUl.48b03ac2.js"),["./ProseUl.48b03ac2.js","./ProseUl.c5b3f77f.css"],import.meta.url).then(e=>e.default)),fb=N(()=>L(()=>Promise.resolve().then(()=>Mw),void 0,import.meta.url).then(e=>e.default)),db=N(()=>L(()=>import("./Badge.7e0c9ea2.js"),["./Badge.7e0c9ea2.js","./Badge.af82fbb4.css"],import.meta.url).then(e=>e.default)),hb=N(()=>L(()=>import("./ButtonLink.be07cd74.js"),["./ButtonLink.be07cd74.js","./ButtonLink.f5436705.css"],import.meta.url).then(e=>e.default)),pb=N(()=>L(()=>import("./Callout.4b7680eb.js"),["./Callout.4b7680eb.js","./Callout.07cf69f8.css"],import.meta.url).then(e=>e.default)),mb=N(()=>L(()=>import("./CodeBlock.f67cfd2d.js"),["./CodeBlock.f67cfd2d.js","./CodeBlock.991bd354.css"],import.meta.url).then(e=>e.default)),gb=N(()=>L(()=>import("./CodeGroup.3a900a65.js"),["./CodeGroup.3a900a65.js","./TabsHeader.aa83efec.js","./TabsHeader.a07a7b39.css","./CodeGroup.0e4e4f50.css"],import.meta.url).then(e=>e.default)),yb=N(()=>L(()=>Promise.resolve().then(()=>$P),void 0,import.meta.url).then(e=>e.default)),_b=N(()=>L(()=>import("./CopyButton.f147b136.js"),[],import.meta.url).then(e=>e.default)),vb=N(()=>L(()=>import("./List.c0882b26.js"),["./List.c0882b26.js","./MDCSlot.eead73a2.js","./List.df356ce6.css"],import.meta.url).then(e=>e.default)),bb=N(()=>L(()=>import("./NuxtImg.75a551c9.js"),["./NuxtImg.75a551c9.js","./NuxtImg.vue.b90fde17.js"],import.meta.url).then(e=>e.default)),wb=N(()=>L(()=>import("./Props.7a12102e.js"),["./Props.7a12102e.js","./ProseTh.9385b277.js","./ProseTh.366c0ecd.css","./ProseTr.549babfe.js","./ProseTr.16cbe189.css","./ProseThead.4aa296f7.js","./ProseThead.ff3d08af.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./ProseTd.765a7462.js","./ProseTd.8301ae56.css","./ProseTbody.92747366.js","./ProseTable.64fc60e6.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),Eb=N(()=>L(()=>import("./Sandbox.a29cbafc.js"),["./Sandbox.a29cbafc.js","./TabsHeader.aa83efec.js","./TabsHeader.a07a7b39.css","./Sandbox.c3073fa3.css"],import.meta.url).then(e=>e.default)),Cb=N(()=>L(()=>import("./TabsHeader.aa83efec.js"),["./TabsHeader.aa83efec.js","./TabsHeader.a07a7b39.css"],import.meta.url).then(e=>e.default)),Tb=N(()=>L(()=>import("./Terminal.d38677a0.js"),["./Terminal.d38677a0.js","./Terminal.67df3c7d.css"],import.meta.url).then(e=>e.default)),Pb=N(()=>L(()=>import("./VideoPlayer.b5a8aa7e.js"),["./VideoPlayer.b5a8aa7e.js","./NuxtImg.vue.b90fde17.js","./VideoPlayer.9ead91bb.css"],import.meta.url).then(e=>e.default)),xb=N(()=>L(()=>import("./IconCodeSandBox.c9323fb9.js"),[],import.meta.url).then(e=>e.default)),Ab=N(()=>L(()=>import("./IconDocus.65790934.js"),[],import.meta.url).then(e=>e.default)),Sb=N(()=>L(()=>import("./IconNuxt.563559a0.js"),[],import.meta.url).then(e=>e.default)),Rb=N(()=>L(()=>import("./IconNuxtContent.563559a0.js"),[],import.meta.url).then(e=>e.default)),Ib=N(()=>L(()=>import("./IconNuxtLabs.bd12f84c.js"),[],import.meta.url).then(e=>e.default)),kb=N(()=>L(()=>import("./IconNuxtStudio.89a024e5.js"),["./IconNuxtStudio.89a024e5.js","./IconNuxtStudio.a5c35f12.css"],import.meta.url).then(e=>e.default)),Ob=N(()=>L(()=>import("./IconStackBlitz.c8986475.js"),[],import.meta.url).then(e=>e.default)),Lb=N(()=>L(()=>import("./IconVueTelescope.d0f24d0b.js"),[],import.meta.url).then(e=>e.default)),$b=N(()=>L(()=>import("./BlockHero.095a9d6e.js"),["./BlockHero.095a9d6e.js","./ButtonLink.be07cd74.js","./ButtonLink.f5436705.css","./Terminal.d38677a0.js","./Terminal.67df3c7d.css","./VideoPlayer.b5a8aa7e.js","./NuxtImg.vue.b90fde17.js","./VideoPlayer.9ead91bb.css","./BlockHero.48386f60.css"],import.meta.url).then(e=>e.default)),Mb=N(()=>L(()=>import("./Card.60fb4ab4.js"),["./Card.60fb4ab4.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),Nb=N(()=>L(()=>import("./CardGrid.0ef7b911.js"),["./CardGrid.0ef7b911.js","./CardGrid.3325d323.css"],import.meta.url).then(e=>e.default)),Db=N(()=>L(()=>import("./VoltaBoard.c40363f6.js"),["./VoltaBoard.c40363f6.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default)),Hb=N(()=>L(()=>import("./ComponentPlayground.11b3f88c.js"),["./ComponentPlayground.11b3f88c.js","./ComponentPlaygroundData.2d0a6c03.js","./TabsHeader.aa83efec.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.71d840f7.js","./ProseH4.a256f8e8.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./Badge.7e0c9ea2.js","./Badge.af82fbb4.css","./ProseP.6f520d03.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.684177d6.js","./ComponentPlaygroundTokens.vue.bfbe3b4d.js","./ComponentPlaygroundData.a33f5743.css","./ComponentPlayground.ace5ef70.css"],import.meta.url).then(e=>e.default)),Fb=N(()=>L(()=>import("./ComponentPlaygroundData.2d0a6c03.js"),["./ComponentPlaygroundData.2d0a6c03.js","./TabsHeader.aa83efec.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.71d840f7.js","./ProseH4.a256f8e8.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./Badge.7e0c9ea2.js","./Badge.af82fbb4.css","./ProseP.6f520d03.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.684177d6.js","./ComponentPlaygroundTokens.vue.bfbe3b4d.js","./ComponentPlaygroundData.a33f5743.css"],import.meta.url).then(e=>e.default)),jb=N(()=>L(()=>import("./ComponentPlaygroundProps.71d840f7.js"),["./ComponentPlaygroundProps.71d840f7.js","./ProseH4.a256f8e8.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./Badge.7e0c9ea2.js","./Badge.af82fbb4.css","./ProseP.6f520d03.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css"],import.meta.url).then(e=>e.default)),Bb=N(()=>L(()=>import("./ComponentPlaygroundSlots.4301dc9f.js"),["./ComponentPlaygroundSlots.4301dc9f.js","./ComponentPlaygroundSlots.vue.684177d6.js"],import.meta.url).then(e=>e.default)),Vb=N(()=>L(()=>import("./ComponentPlaygroundTokens.68c43e3d.js"),["./ComponentPlaygroundTokens.68c43e3d.js","./ComponentPlaygroundTokens.vue.bfbe3b4d.js"],import.meta.url).then(e=>e.default)),zb=N(()=>L(()=>import("./PreviewLayout.dffb4a1b.js"),["./PreviewLayout.dffb4a1b.js","./PreviewLayout.8b7fcbc8.css"],import.meta.url).then(e=>e.default)),Ub=N(()=>L(()=>import("./TokensPlayground.cb8b3cae.js"),[],import.meta.url).then(e=>e.default)),Kb=N(()=>L(()=>import("./ContentDoc.0106fa62.js"),["./ContentDoc.0106fa62.js","./ContentRenderer.301e652b.js","./ContentRendererMarkdown.vue.498723d7.js","./ContentQuery.d94c323c.js"],import.meta.url).then(e=>e.default)),Wb=N(()=>L(()=>import("./ContentList.cc4288fa.js"),["./ContentList.cc4288fa.js","./ContentQuery.d94c323c.js"],import.meta.url).then(e=>e.default)),qb=N(()=>L(()=>import("./ContentNavigation.ba6ab3c2.js"),[],import.meta.url).then(e=>e.default)),Qb=N(()=>L(()=>import("./ContentQuery.d94c323c.js"),[],import.meta.url).then(e=>e.default)),Jb=N(()=>L(()=>import("./ContentRenderer.301e652b.js"),["./ContentRenderer.301e652b.js","./ContentRendererMarkdown.vue.498723d7.js"],import.meta.url).then(e=>e.default)),Zb=N(()=>L(()=>import("./ContentRendererMarkdown.c2c69b92.js"),["./ContentRendererMarkdown.c2c69b92.js","./ContentRendererMarkdown.vue.498723d7.js"],import.meta.url).then(e=>e.default)),Yb=N(()=>L(()=>import("./ContentSlot.986d1206.js"),["./ContentSlot.986d1206.js","./MDCSlot.eead73a2.js"],import.meta.url).then(e=>e.default)),Gb=N(()=>L(()=>import("./DocumentDrivenEmpty.a7380757.js"),[],import.meta.url).then(e=>e.default)),Xb=N(()=>L(()=>import("./Markdown.1bb9ca3e.js"),["./Markdown.1bb9ca3e.js","./ContentSlot.986d1206.js","./MDCSlot.eead73a2.js"],import.meta.url).then(e=>e.default)),e1=N(()=>L(()=>import("./ProsePre.2eed70cd.js"),["./ProsePre.2eed70cd.js","./ProseCode.6f638cb3.js","./ProseCode.4d67527c.css","./ProsePre.e63e49c6.css"],import.meta.url).then(e=>e.default)),t1=N(()=>L(()=>import("./Checkbox.ed2e3248.js"),["./Checkbox.ed2e3248.js","./Checkbox.vue.e1e63870.js","./component-v2.05f6057d.js"],import.meta.url).then(e=>e.default)),n1=N(()=>L(()=>import("./ChallengeV2.40fb78ea.js"),["./ChallengeV2.40fb78ea.js","./ChallengeV2.vue.60d977f0.js","./component-v2.05f6057d.js"],import.meta.url).then(e=>e.default)),r1=N(()=>L(()=>import("./ChallengeV3.70fdc96c.js"),["./ChallengeV3.70fdc96c.js","./ChallengeV3.vue.f80b4ea1.js"],import.meta.url).then(e=>e.default)),o1=N(()=>L(()=>Promise.resolve().then(()=>YE),void 0,import.meta.url).then(e=>e.default)),s1=N(()=>L(()=>import("./IconCSS.f3b25988.js"),["./IconCSS.f3b25988.js","./IconCSS.23e2cb26.css"],import.meta.url).then(e=>e.default)),i1=[["ChallengeV2Demo",l0],["ChallengeV3Demo",u0],["CheckboxDemo",f0],["IndexDemo",d0],["Mermaid",h0],["PrimaryButton",p0],["ThemeButton",m0],["VeeValidateCheckbox",g0],["VeeValidateInvisible",y0],["AppDocSearch",_0],["AppFooter",v0],["AppHeader",b0],["AppHeaderDialog",w0],["AppHeaderLogo",E0],["AppHeaderNavigation",C0],["AppLayout",T0],["AppLoadingBar",P0],["AppSearch",x0],["AppSocialIcons",A0],["DocumentDrivenNotFound",S0],["Ellipsis",R0],["Logo",I0],["ThemeSelect",k0],["DocsAside",O0],["DocsAsideTree",L0],["DocsPageBottom",$0],["DocsPageLayout",M0],["DocsPrevNext",N0],["DocsToc",D0],["DocsTocLinks",H0],["EditOnLink",F0],["SourceLink",j0],["ProseA",B0],["ProseBlockquote",V0],["ProseCode",z0],["ProseCodeInline",U0],["ProseEm",K0],["ProseH1",W0],["ProseH2",q0],["ProseH3",Q0],["ProseH4",J0],["ProseH5",Z0],["ProseH6",Y0],["ProseHr",G0],["ProseImg",X0],["ProseLi",eb],["ProseOl",tb],["ProseP",nb],["ProseStrong",rb],["ProseTable",ob],["ProseTbody",sb],["ProseTd",ib],["ProseTh",ab],["ProseThead",cb],["ProseTr",lb],["ProseUl",ub],["Alert",fb],["Badge",db],["ButtonLink",hb],["Callout",pb],["CodeBlock",mb],["CodeGroup",gb],["Container",yb],["CopyButton",_b],["List",vb],["NuxtImg",bb],["Props",wb],["Sandbox",Eb],["TabsHeader",Cb],["Terminal",Tb],["VideoPlayer",Pb],["IconCodeSandBox",xb],["IconDocus",Ab],["IconNuxt",Sb],["IconNuxtContent",Rb],["IconNuxtLabs",Ib],["IconNuxtStudio",kb],["IconStackBlitz",Ob],["IconVueTelescope",Lb],["BlockHero",$b],["Card",Mb],["CardGrid",Nb],["VoltaBoard",Db],["ComponentPlayground",Hb],["ComponentPlaygroundData",Fb],["ComponentPlaygroundProps",jb],["ComponentPlaygroundSlots",Bb],["ComponentPlaygroundTokens",Vb],["PreviewLayout",zb],["TokensPlayground",Ub],["ContentDoc",Kb],["ContentList",Wb],["ContentNavigation",qb],["ContentQuery",Qb],["ContentRenderer",Jb],["ContentRendererMarkdown",Zb],["MDCSlot",Yb],["DocumentDrivenEmpty",Gb],["Markdown",Xb],["ProsePre",e1],["RecaptchaCheckbox",t1],["RecaptchaChallengeV2",n1],["RecaptchaChallengeV3",r1],["Icon",o1],["IconCSS",s1]],a1=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of i1)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),fr={default:()=>L(()=>import("./default.c3a17007.js"),["./default.c3a17007.js","./DocsPageLayout.0dafd259.js","./DocsAside.86314fc7.js","./DocsAside.214f9128.css","./ProseCodeInline.b8352ab0.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.2edd582e.js","./ProseA.1e07e3b7.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.5b1c415a.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.7f7ab9fd.js","./DocsPrevNext.5cd1832c.css","./DocsToc.fca90c35.js","./DocsTocLinks.70fbf435.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css","./mermaid.core.6d8597df.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default||e),page:()=>L(()=>import("./page.46aa918a.js"),["./page.46aa918a.js","./page.6f89b326.css"],import.meta.url).then(e=>e.default||e)},c1=Be({name:"nuxt:prefetch",setup(e){const t=ct();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof fr[r]=="function"&&await fr[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,a,c,l;if(en(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((a=r==null?void 0:r.meta)==null?void 0:a.middleware)?(c=r==null?void 0:r.meta)==null?void 0:c.middleware:[(l=r==null?void 0:r.meta)==null?void 0:l.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof br[u]=="function"&&br[u]();o&&typeof fr[o]=="function"&&fr[o]()})}}),l1=["ChallengeV2Demo","ChallengeV3Demo","CheckboxDemo","IndexDemo","Mermaid","PrimaryButton","ThemeButton","VeeValidateCheckbox","VeeValidateInvisible","AppDocSearch","AppFooter","AppHeader","AppHeaderDialog","AppHeaderLogo","AppHeaderNavigation","AppLayout","AppLoadingBar","AppSearch","AppSocialIcons","DocumentDrivenNotFound","Ellipsis","Logo","ThemeSelect","DocsAside","DocsAsideTree","DocsPageBottom","DocsPageLayout","DocsPrevNext","DocsToc","DocsTocLinks","EditOnLink","SourceLink","ProseA","ProseBlockquote","ProseCode","ProseCodeInline","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl","ProseCodeCopyButton","Alert","Badge","ButtonLink","Callout","CodeBlock","CodeGroup","Container","CopyButton","List","NuxtImg","Props","Sandbox","TabsHeader","Terminal","VideoPlayer","IconCodeSandBox","IconDocus","IconNuxt","IconNuxtContent","IconNuxtLabs","IconNuxtStudio","IconStackBlitz","IconVueTelescope","BlockHero","Card","CardGrid","VoltaBoard","ComponentPlayground","ComponentPlaygroundData","ComponentPlaygroundProps","ComponentPlaygroundSlots","ComponentPlaygroundTokens","PreviewLayout","TokensPlayground","UnoIcon","ContentPreviewMode","ContentDoc","ContentList","ContentNavigation","ContentQuery","ContentRenderer","ContentRendererMarkdown","MDCSlot","DocumentDrivenEmpty","Markdown","ProsePre","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtPicture","RecaptchaCheckbox","RecaptchaChallengeV2","RecaptchaChallengeV3","ColorScheme","MDC","MDCRenderer","MDCSlot","Icon","IconCSS","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body"],u1=/\d/,f1=["-","_","/","."];function d1(e=""){if(!u1.test(e))return e.toUpperCase()===e}function Jf(e,t){const n=t??f1,r=[];if(!e||typeof e!="string")return r;let o="",s,i;for(const a of e){const c=n.includes(a);if(c===!0){r.push(o),o="",s=void 0;continue}const l=d1(a);if(i===!1){if(s===!1&&l===!0){r.push(o),o=a,s=l;continue}if(s===!0&&l===!1&&o.length>1){const u=o[o.length-1];r.push(o.slice(0,Math.max(0,o.length-1))),o=u+a,s=l;continue}}o+=a,s=l,i=c}return r.push(o),r}function h1(e){return e?e[0].toUpperCase()+e.slice(1):""}function p1(e){return e?(Array.isArray(e)?e:Jf(e)).map(t=>h1(t)).join(""):""}function vi(e,t){return e?(Array.isArray(e)?e:Jf(e)).map(n=>n.toLowerCase()).join(t??"-"):""}const Sn=()=>{const e=Rt("dd-pages",()=>kt(Qt({}))),t=Rt("dd-surrounds",()=>kt(Qt({}))),n=Rt("dd-navigation"),r=Rt("dd-globals",()=>kt(Qt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Vr=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Sn(),o=ee(()=>vn(at().path)),s=ee(()=>t.value[o.value]),i=ee(()=>n.value[o.value]),a=ee(()=>{var h,m;return(m=(h=s==null?void 0:s.value)==null?void 0:h.body)==null?void 0:m.toc}),c=ee(()=>{var h;return(h=s.value)==null?void 0:h._type}),l=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.layout}),f=ee(()=>{var h;return(h=i.value)==null?void 0:h[1]}),d=ee(()=>{var h;return(h=i.value)==null?void 0:h[0]});return{globals:r,navigation:e,surround:i,page:s,excerpt:l,toc:a,type:c,layout:u,next:f,prev:d}},Zf=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=Zf(t);if(n)return n}},Yf=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=Yf(e,n.children);if(r)return r}}},Gf=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=Gf(e,n.children);if(r)return r}}},m1=(e,t,n)=>{let r;const o=(s,i)=>{for(const a of i)if(!(s!=="/"&&a._path==="/")){if(s!=null&&s.startsWith(a._path)&&a[t]&&(r=a[t]),a._path===s)return;a.children&&o(s,a.children)}};return o(e,n),r},pa=()=>({navBottomLink:Zf,navDirFromPath:Yf,navPageFromPath:Gf,navKeyFromPath:m1});function ma(e){return JSON.stringify(e,g1)}function g1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const Xf=e=>{let t=ma(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},ga=()=>({isEnabled:()=>{const r=at().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||lo("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>lo("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{lo("previewToken").value=r,at().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),Lo=e=>lf(e,We().public.content.api.baseURL),ed=()=>{const{experimental:e}=We().public.content;return e.clientDB?!0:ga().isEnabled()},sl=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),ya=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),ax=e=>t=>e&&e.length?ya(t,n=>!e.includes(n)):t,cx=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),td=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},lx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=td(e);return ya(t,o=>!r.includes(o)&&!n.includes(o[0]))},ux=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=td(e);return ya(t,o=>r.includes(o)||n.includes(o[0]))},fx=(e,t)=>{const n=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),r=Object.keys(t).filter(o=>!o.startsWith("$"));for(const o of r)e=e.sort((s,i)=>{const a=[sl(s,o),sl(i,o)].map(c=>{if(c!==null)return c instanceof Date?c.toISOString():c});return t[o]===-1&&a.reverse(),n.compare(a[0],a[1])});return e},dx=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Tt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],y1=["sort","where","only","without"];function _1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=y1.includes(i)?Tt(t.initialParams[i]):t.initialParams[i];const r=(i,a=c=>c)=>(...c)=>(n[i]=a(...c),s),o=i=>{var a;return t.legacy?i!=null&&i.surround?i.surround:i&&(i!=null&&i.dirConfig&&(i.result={_path:(a=i.dirConfig)==null?void 0:a._path,...i.result,_dir:i.dirConfig}),i!=null&&i._path||Array.isArray(i)||!Object.prototype.hasOwnProperty.call(i,"result")?i:i==null?void 0:i.result):i},s={params:()=>({...n,...n.where?{where:[...Tt(n.where)]}:{},...n.sort?{sort:[...Tt(n.sort)]}:{}}),only:r("only",Tt),without:r("without",Tt),where:r("where",i=>[...Tt(n.where),...Tt(i)]),sort:r("sort",i=>[...Tt(n.sort),...Tt(i)]),limit:r("limit",i=>parseInt(String(i),10)),skip:r("skip",i=>parseInt(String(i),10)),find:()=>e(s).then(o),findOne:()=>e(r("first")(!0)).then(o),count:()=>e(r("count")(!0)).then(o),locale:i=>s.where({_locale:i}),withSurround:r("surround",(i,a)=>({query:i,...a})),withDirConfig:()=>r("dirConfig")(!0)};return t.legacy&&(s.findSurround=(i,a)=>s.withSurround(i,a).find().then(o)),s}const v1=()=>async e=>{const{content:t}=We().public,n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/query/${`${ko(n)}.${t.integrity}`}/${Xf(n)}.json`):Lo(`/query/${ko(n)}.${t.integrity}.json`);if(ed())return(await L(()=>import("./client-db.489138a3.js"),["./client-db.489138a3.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ma(n),previewToken:ga().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function fo(e,...t){const{content:n}=We().public,r=_1(v1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=si(tn(e,...t)));const s=r.params;return r.params=()=>{var a,c,l;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:vn(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(a=i.sort)!=null&&a.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((l=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&l._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const b1=async e=>{const{content:t}=We().public;typeof(e==null?void 0:e.params)!="function"&&(e=fo(e));const n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/navigation/${`${ko(n)}.${t.integrity}`}/${Xf(n)}.json`):Lo(`/navigation/${ko(n)}.${t.integrity}.json`);if(ed())return(await L(()=>import("./client-db.489138a3.js"),["./client-db.489138a3.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ma(n),previewToken:ga().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},w1=Be(e=>{var l,u,f,d;const t=(u=(l=We())==null?void 0:l.public)==null?void 0:u.content.documentDriven,n=(d=(f=We())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Sn(),a=(h,m,p,y)=>{var v;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((v=h.matched[0].meta)!=null&&v.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:b}=pa(),_=b(m._path,"layout",p);if(_)return _}if(t.layoutFallbacks&&y){let b;for(const _ of t.layoutFallbacks)if(y[_]&&y[_].layout){b=y[_].layout;break}if(b)return b}return"default"},c=async(h,m=!1)=>{e.callHook("content:document-driven:start",{route:h,dedup:m});const p=h.meta.documentDriven||{};if(h.meta.documentDriven===!1)return;const y=vn(h.path),v=[];if(t.navigation&&p.navigation!==!1){const b=()=>{const{navigation:_}=Sn();return _.value&&!m?_.value:b1().then(g=>(_.value=g,g)).catch(()=>null)};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.globals){const b=()=>{const{globals:_}=Sn();if(typeof t.globals=="object"&&Array.isArray(t.globals)){console.log("Globals must be a list of keys with QueryBuilderParams as a value.");return}return Promise.all(Object.entries(t.globals).map(([g,P])=>{if(!m&&_.value[g])return _.value[g];let S="findOne";return P!=null&&P.type&&(S=P.type),fo(P)[S]().catch(()=>null)})).then(g=>g.reduce((P,S,I)=>{const k=Object.keys(t.globals)[I];return P[k]=S,P},{}))};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.page&&p.page!==!1){let b={_path:y};typeof p.page=="string"&&(b={_path:p.page}),typeof p.page=="object"&&(b=p.page);const _=()=>{const{pages:g}=Sn();return!m&&g.value[y]&&g.value[y]._path===y?g.value[y]:fo().where(b).findOne().catch(()=>null)};v.push(_)}else v.push(()=>Promise.resolve(null));if(t.surround&&p.surround!==!1){let b=y;["string","object"].includes(typeof p.page)&&(b=p.page),["string","object"].includes(typeof p.surround)&&(b=p.surround);const _=()=>{const{surrounds:g}=Sn();return!m&&g.value[y]?g.value[y]:fo().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(b).catch(()=>null)};v.push(_)}else v.push(()=>Promise.resolve(null));return await Promise.all(v.map(b=>b())).then(async([b,_,g,P])=>{var I,k;b&&(r.value=b),_&&(s.value=_),P&&(i.value[y]=P);const S=(g==null?void 0:g.redirect)||((k=(I=g==null?void 0:g._dir)==null?void 0:I.navigation)==null?void 0:k.redirect);if(S)return o.value[y]=g,S;if(g){const H=a(h,g,b,_),R=fr[H];R&&typeof R=="function"&&await R(),h.meta.layout=H,g.layout=H}o.value[y]=g,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:g,navigation:b,globals:_,surround:P})})};{const h=ct();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!en(m)){const p=h.resolve(m);p.matched.length>0&&c(p)}}),e.hooks.hook("content:document-driven:finish",({page:m})=>{var p;(p=m==null?void 0:m.body)!=null&&p.children&&nd(m.body.children)})}Xy(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=vn(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return en(p)?yf(e,Rf,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(at(),!0))});function nd(e){for(const t of e)if(t.children&&nd(t.children),t.type==="element"&&t.tag){const n=p1(t.tag);for(const r of["Prose"+n,n])l1.includes(r)&&R_(r)}}const E1=Be(e=>{const t=We().public.studio||{},n=at(),r=lo("previewToken",{sameSite:"none",secure:!0}),o=Rt("studio-client-db",()=>null);async function s(){const i=await L(()=>import("./useStudio.810b15ce.js"),["./useStudio.810b15ce.js","./useStudio.5fa23b79.css"],import.meta.url).then(l=>l.useStudio),{mountPreviewUI:a,initiateIframeCommunication:c}=i();a(),c()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&(r.value=String(n.query.preview)),window.sessionStorage.setItem("previewToken",String(r.value)),e.hook("content:storage",i=>{o.value=i}),e.hook("app:mounted",async()=>{await s()})}});let _a=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");const rd=new RegExp("\\{([^}]+)\\}","g"),C1="@dark",T1="@light",P1="@initial";function il(e,t,n,r="."){typeof t=="string"&&(t=t.split(r));const o=t.length-1;for(let i=0;it.includes(i))){r[o]={value:e[o]};continue}r[o]=sd(e[o],t,n)}}return r}function x1(e={},t={}){const n={key:"attributes.variable",onNotFound:!1,...t};function r(o=void 0,s){if(!o)return M(e);const i={...n,...s},{key:a,onNotFound:c}=i,l=$o(M(e),o);if(!l&&typeof c=="function"){c(o,i);return}return a?l&&(l[a]?l[a]:$o(l,a)):l}return r.bind(this)}function id(e){return Array.isArray(e)&&(e=e.join("-")),e.charAt(0)==="{"&&e.charAt(e.length-1)==="}"&&(e=e.substr(1,e.length-2)),`--${e.split(".").join("-")}`}function A1(e,t,n,r,o=[],s,i){var c;const a=R1(e,t,r,s,i);return a||((c=s==null?void 0:s.utils)!=null&&c[e]?typeof s.utils[e]=="function"?s.utils[e](t):t?s.utils[e]:{}:(t=S1(e,t,o,s,i),{[e]:t}))}function S1(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>al(e,s,n,r,o)).join(","):t=al(e,t,n,r,o)),t}function al(e,t,n,r,o){return typeof t=="number"?t:(t.match(rd)&&(t=ad(e,t,n,r,o)),t==="{}"?"":t)}function ad(e,t,n,r,o){return typeof t!="string"||(t=t.replace(rd,(s,i)=>{const a=id(i),c=`var(${a})`;if(n.includes(a))return c;const l=r.$tokens(i,{key:void 0,loc:o}),u=typeof l=="string"?l:(l==null?void 0:l.variable)||(l==null?void 0:l.value);return u||c})),t}function R1(e,t,n,r,o){if(e.startsWith("@")){const s=a=>{a=r.options.colorSchemeMode==="class"?`:root.${a}`:`@media (prefers-color-scheme: ${a})`;const c=a.startsWith("@media");return r!=null&&r.runtime?{"@media":{[a]:t}}:{[c?a:`${a} &`]:t}};if(e===C1)return s("dark");if(e===T1)return s("light");if(e===P1){const a=r.$tokens("media.initial",{key:"value",onNotFound:!1,loc:o});return{[`@media${a?` ${a}`:""}`]:t}}const i=r.$tokens("media",{key:void 0,loc:o});if(i){const a=e.replace("@","");if(i[a])return{[`@media ${i[a].value}`]:t}}return{[e]:t}}}function I1(e,t,n,r){var i;let o="";if(e==="dark"||e==="light")r==="class"?o=`:root.${e}`:o=`(prefers-color-scheme: ${e})`;else if(e!=="initial"&&n){const a=(i=n==null?void 0:n.media)==null?void 0:i[e];a&&(o=a.value)}let s;return o?o.startsWith(".")?s=`@media { :root${o} {`:o.startsWith(":root")?s=`@media { ${o} {`:s=`@media ${o} { :root {`:s="@media { :root {",`${`${`${s}--pinceau-mq: ${String(e)}; ${t}`} } }`} + */const An=typeof window<"u";function Y_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function ks(e,t){const n={};for(const r in t){const o=t[r];n[r]=ht(o)?o.map(e):e(o)}return n}const _r=()=>{},ht=Array.isArray,G_=/\/$/,X_=e=>e.replace(G_,"");function Os(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let c=t.indexOf("?");return a=0&&(c=-1),c>-1&&(r=t.slice(0,c),s=t.slice(c+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=rv(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function ev(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Bc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function tv(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Un(t.matched[r],n.matched[o])&&Df(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Un(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Df(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!nv(e[n],t[n]))return!1;return!0}function nv(e,t){return ht(e)?Vc(e,t):ht(t)?Vc(t,e):e===t}function Vc(e,t){return ht(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function rv(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var $r;(function(e){e.pop="pop",e.push="push"})($r||($r={}));var vr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(vr||(vr={}));function ov(e){if(!e)if(An){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),X_(e)}const sv=/^[^#]+#/;function iv(e,t){return e.replace(sv,"#")+t}function av(e,t){const 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)}}const cs=()=>({left:window.pageXOffset,top:window.pageYOffset});function cv(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=av(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function zc(e,t){return(history.state?history.state.position-t:-1)+e}const gi=new Map;function lv(e,t){gi.set(e,t)}function uv(e){const t=gi.get(e);return gi.delete(e),t}let fv=()=>location.protocol+"//"+location.host;function Hf(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),Bc(c,"")}return Bc(n,e)+r+o}function dv(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=Hf(e,location),m=n.value,p=t.value;let y=0;if(d){if(n.value=h,t.value=d,i&&i===m){i=null;return}y=p?d.position-p.position:0}else r(h);o.forEach(v=>{v(n.value,m,{delta:y,type:$r.pop,direction:y?y>0?vr.forward:vr.back:vr.unknown})})};function c(){i=n.value}function l(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:cs()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Uc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?cs():null}}function hv(e){const{history:t,location:n}=window,r={value:Hf(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:fv()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),o.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(c,l){const u=ve({},t.state,Uc(o.value.back,c,o.value.forward,!0),l,{position:o.value.position});s(c,u,!0),r.value=c}function a(c,l){const u=ve({},o.value,t.state,{forward:c,scroll:cs()});s(u.current,u,!0);const f=ve({},Uc(r.value,c,null),{position:u.position+1},l);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function Ff(e){e=ov(e);const t=hv(e),n=dv(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ve({location:"",base:e,go:r,createHref:iv.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function pv(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Ff(e)}function mv(e){return typeof e=="string"||e&&typeof e=="object"}function jf(e){return typeof e=="string"||typeof e=="symbol"}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bf=Symbol("");var Kc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Kc||(Kc={}));function Kn(e,t){return ve(new Error,{type:e,[Bf]:!0},t)}function Ct(e,t){return e instanceof Error&&Bf in e&&(t==null||!!(e.type&t))}const Wc="[^/]+?",gv={sensitive:!1,strict:!1,start:!0,end:!0},yv=/[.+*?^${}()[\]/\\]/g;function _v(e,t){const n=ve({},gv,t),r=[];let o=n.start?"^":"";const s=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function bv(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const wv={type:0,value:""},Ev=/[a-zA-Z0-9_]/;function Cv(e){if(!e)return[[]];if(e==="/")return[[wv]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,l="",u="";function f(){l&&(n===0?s.push({type:0,value:l}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{i(b)}:_r}function i(u){if(jf(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Vf(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Jc(u)&&r.set(u.record.name,u)}function l(u,f){let d,h={},m,p;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw Kn(1,{location:u});p=d.record.name,h=ve(Qc(f.params,d.keys.filter(b=>!b.optional).map(b=>b.name)),u.params&&Qc(u.params,d.keys.map(b=>b.name))),m=d.stringify(h)}else if("path"in u)m=u.path,d=n.find(b=>b.re.test(m)),d&&(h=d.parse(m),p=d.record.name);else{if(d=f.name?r.get(f.name):n.find(b=>b.re.test(f.path)),!d)throw Kn(1,{location:u,currentLocation:f});p=d.record.name,h=ve({},f.params,u.params),m=d.stringify(h)}const y=[];let v=d;for(;v;)y.unshift(v.record),v=v.parent;return{name:p,path:m,params:h,matched:y,meta:Sv(y)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:l,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function Qc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function xv(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Av(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Av(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Jc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Sv(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function Zc(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Vf(e,t){return t.children.some(n=>n===e||Vf(e,n))}const zf=/#/g,Rv=/&/g,Iv=/\//g,kv=/=/g,Ov=/\?/g,Uf=/\+/g,Lv=/%5B/g,$v=/%5D/g,Kf=/%5E/g,Mv=/%60/g,Wf=/%7B/g,Nv=/%7C/g,qf=/%7D/g,Dv=/%20/g;function fa(e){return encodeURI(""+e).replace(Nv,"|").replace(Lv,"[").replace($v,"]")}function Hv(e){return fa(e).replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function yi(e){return fa(e).replace(Uf,"%2B").replace(Dv,"+").replace(zf,"%23").replace(Rv,"%26").replace(Mv,"`").replace(Wf,"{").replace(qf,"}").replace(Kf,"^")}function Fv(e){return yi(e).replace(kv,"%3D")}function jv(e){return fa(e).replace(zf,"%23").replace(Ov,"%3F")}function Bv(e){return e==null?"":jv(e).replace(Iv,"%2F")}function Oo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Vv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&yi(s)):[r&&yi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function zv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ht(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Uv=Symbol(""),Gc=Symbol(""),da=Symbol(""),ha=Symbol(""),_i=Symbol("");function or(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Kt(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=f=>{f===!1?a(Kn(4,{from:n,to:t})):f instanceof Error?a(f):mv(f)?a(Kn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},l=e.call(r&&r.instances[o],t,n,c);let u=Promise.resolve(l);e.length<3&&(u=u.then(c)),u.catch(f=>a(f))})}function Ls(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let a=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(Kv(a)){const l=(a.__vccOpts||a)[t];l&&o.push(Kt(l,n,r,s,i))}else{let c=a();o.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=Y_(l)?l.default:l;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&Kt(d,n,r,s,i)()}))}}return o}function Kv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Xc(e){const t=De(da),n=De(ha),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Un.bind(null,u));if(d>-1)return d;const h=el(c[l-2]);return l>1&&el(u)===h&&f[f.length-1].path!==h?f.findIndex(Un.bind(null,c[l-2])):d}),s=ee(()=>o.value>-1&&Jv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&Df(n.params,r.value.params));function a(c={}){return Qv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(_r):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const Wv=Ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Xc,setup(e,{slots:t}){const n=tt(Xc(e)),{options:r}=De(da),o=ee(()=>({[tl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[tl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:et("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),qv=Wv;function Qv(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Jv(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ht(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function el(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const tl=(e,t,n)=>e??t??n,Zv=Ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=De(_i),o=ee(()=>e.route||r.value),s=De(Gc,0),i=ee(()=>{let l=M(s);const{matched:u}=o.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=ee(()=>o.value.matched[i.value]);Nn(Gc,ee(()=>i.value+1)),Nn(Uv,a),Nn(_i,o);const c=ce();return ye(()=>[c.value,a.value,e.name],([l,u,f],[d,h,m])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!Un(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(p=>p(l))},{flush:"post"}),()=>{const l=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return nl(n.default,{Component:d,route:l});const h=f.props[u],m=h?h===!0?l.params:typeof h=="function"?h(l):h:null,y=et(d,ve({},m,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return nl(n.default,{Component:y,route:l})||y}}});function nl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qf=Zv;function Yv(e){const t=Pv(e.routes,e),n=e.parseQuery||Vv,r=e.stringifyQuery||Yc,o=e.history,s=or(),i=or(),a=or(),c=kt(yt);let l=yt;An&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ks.bind(null,$=>""+$),f=ks.bind(null,Bv),d=ks.bind(null,Oo);function h($,Y){let W,X;return jf($)?(W=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,W)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function v($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const A=Os(n,$,Y.path),O=t.resolve({path:A.path},Y),D=o.createHref(A.fullPath);return ve(A,O,{params:d(O.params),hash:Oo(A.hash),redirectedFrom:void 0,href:D})}let W;if("path"in $)W=ve({},$,{path:Os(n,$.path,Y.path).path});else{const A=ve({},$.params);for(const O in A)A[O]==null&&delete A[O];W=ve({},$,{params:f(A)}),Y.params=f(Y.params)}const X=t.resolve(W,Y),_e=$.hash||"";X.params=u(d(X.params));const w=ev(r,ve({},$,{hash:Hv(_e),path:X.path})),E=o.createHref(w);return ve({fullPath:w,hash:_e,query:r===Yc?zv($.query):$.query||{}},X,{redirectedFrom:void 0,href:E})}function b($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function _($,Y){if(l!==$)return Kn(8,{from:Y,to:$})}function g($){return I($)}function P($){return g(ve(b($),{replace:!0}))}function S($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:W}=Y;let X=typeof W=="function"?W($):W;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=b(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const W=l=v($),X=c.value,_e=$.state,w=$.force,E=$.replace===!0,A=S(W);if(A)return I(ve(b(A),{state:typeof A=="object"?ve({},_e,A.state):_e,force:w,replace:E}),Y||W);const O=W;O.redirectedFrom=Y;let D;return!w&&tv(r,X,W)&&(D=Kn(16,{to:O,from:X}),Le(X,X,!0,!1)),(D?Promise.resolve(D):R(O,X)).catch(F=>Ct(F)?Ct(F,2)?F:Oe(F):U(F,O,X)).then(F=>{if(F){if(Ct(F,2))return I(ve({replace:E},b(F.to),{state:typeof F.to=="object"?ve({},_e,F.to.state):_e,force:w}),Y||O)}else F=C(O,X,!0,E,_e);return T(O,X,F),F})}function k($,Y){const W=_($,Y);return W?Promise.reject(W):Promise.resolve()}function H($){const Y=nt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function R($,Y){let W;const[X,_e,w]=Gv($,Y);W=Ls(X.reverse(),"beforeRouteLeave",$,Y);for(const A of X)A.leaveGuards.forEach(O=>{W.push(Kt(O,$,Y))});const E=k.bind(null,$,Y);return W.push(E),Re(W).then(()=>{W=[];for(const A of s.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).then(()=>{W=Ls(_e,"beforeRouteUpdate",$,Y);for(const A of _e)A.updateGuards.forEach(O=>{W.push(Kt(O,$,Y))});return W.push(E),Re(W)}).then(()=>{W=[];for(const A of w)if(A.beforeEnter)if(ht(A.beforeEnter))for(const O of A.beforeEnter)W.push(Kt(O,$,Y));else W.push(Kt(A.beforeEnter,$,Y));return W.push(E),Re(W)}).then(()=>($.matched.forEach(A=>A.enterCallbacks={}),W=Ls(w,"beforeRouteEnter",$,Y),W.push(E),Re(W))).then(()=>{W=[];for(const A of i.list())W.push(Kt(A,$,Y));return W.push(E),Re(W)}).catch(A=>Ct(A,8)?A:Promise.reject(A))}function T($,Y,W){a.list().forEach(X=>H(()=>X($,Y,W)))}function C($,Y,W,X,_e){const w=_($,Y);if(w)return w;const E=Y===yt,A=An?history.state:{};W&&(X||E?o.replace($.fullPath,ve({scroll:E&&A&&A.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Le($,Y,W,E),Oe()}let x;function V(){x||(x=o.listen(($,Y,W)=>{if(!mt.listening)return;const X=v($),_e=S(X);if(_e){I(ve(_e,{replace:!0}),X).catch(_r);return}l=X;const w=c.value;An&&lv(zc(w.fullPath,W.delta),cs()),R(X,w).catch(E=>Ct(E,12)?E:Ct(E,2)?(I(E.to,X).then(A=>{Ct(A,20)&&!W.delta&&W.type===$r.pop&&o.go(-1,!1)}).catch(_r),Promise.reject()):(W.delta&&o.go(-W.delta,!1),U(E,X,w))).then(E=>{E=E||C(X,w,!1),E&&(W.delta&&!Ct(E,8)?o.go(-W.delta,!1):W.type===$r.pop&&Ct(E,20)&&o.go(-1,!1)),T(X,w,E)}).catch(_r)}))}let J=or(),B=or(),Q;function U($,Y,W){Oe($);const X=B.list();return X.length?X.forEach(_e=>_e($,Y,W)):console.error($),Promise.reject($)}function he(){return Q&&c.value!==yt?Promise.resolve():new Promise(($,Y)=>{J.add([$,Y])})}function Oe($){return Q||(Q=!$,V(),J.list().forEach(([Y,W])=>$?W($):Y()),J.reset()),$}function Le($,Y,W,X){const{scrollBehavior:_e}=e;if(!An||!_e)return Promise.resolve();const w=!W&&uv(zc($.fullPath,0))||(X||!W)&&history.state&&history.state.scroll||null;return Et().then(()=>_e($,Y,w)).then(E=>E&&cv(E)).catch(E=>U(E,$,Y))}const we=$=>o.go($);let ze;const nt=new Set,mt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:v,options:e,push:g,replace:P,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:B.add,isReady:he,install($){const Y=this;$.component("RouterLink",qv),$.component("RouterView",Qf),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),An&&!ze&&c.value===yt&&(ze=!0,g(o.location).catch(_e=>{}));const W={};for(const _e in yt)Object.defineProperty(W,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(da,Y),$.provide(ha,Qt(W)),$.provide(_i,c);const X=$.unmount;nt.add($),$.unmount=function(){nt.delete($),nt.size<1&&(l=yt,x&&x(),x=null,c.value=yt,ze=!1,Q=!1),X()}}};function Re($){return $.reduce((Y,W)=>Y.then(()=>H(W)),Promise.resolve())}return mt}function Gv(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iUn(l,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(l=>Un(l,c))||o.push(c))}return[n,r,o]}function ix(){return De(ha)}const rl=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:void 0,component:()=>L(()=>import("./document-driven.380c4d19.js"),["./document-driven.380c4d19.js","./DocumentDrivenEmpty.379fad62.js","./ContentRenderer.a1404e70.js","./ContentRendererMarkdown.vue.fe8f4dc4.js","./DocumentDrivenNotFound.d21cbdd8.js","./ButtonLink.8382d34b.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default||e)}],Xv={scrollBehavior(e,t,n){if(!history.state.stop){if(history.state.smooth)return{el:history.state.smooth,behavior:"smooth"};if(e.hash){const r=document.querySelector(e.hash);if(!r)return;const{marginTop:o}=getComputedStyle(r),s=parseInt(o);return{top:document.querySelector(e.hash).offsetTop-s,behavior:"smooth"}}return n||{top:0}}}},e0={scrollBehavior(e,t,n){var l;const r=ge(),o=((l=ct().options)==null?void 0:l.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&t0(t,e)&&(s={left:0,top:0}),e.path===t.path){if(t.hash&&!e.hash)return{left:0,top:0};if(e.hash)return{el:e.hash,top:ol(e.hash),behavior:o}}const a=u=>!!(u.meta.pageTransition??mi),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(c,async()=>{await Et(),e.hash&&(s={el:e.hash,top:ol(e.hash),behavior:o}),u(s)})})}};function ol(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}function t0(e,t){return t.path!==e.path||JSON.stringify(e.params)!==JSON.stringify(t.params)}const n0={},qe={...n0,...e0,...Xv},r0=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ge(),o=ct();if(([t,n]=Or(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=ss({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`}),a=o.beforeResolve(l=>{if(a(),l===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>Rn(i)),window.history.pushState({},"",e.fullPath)});return!1}})},o0=async e=>{let t,n;const r=([t,n]=Or(()=>$f(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},s0=[r0,o0],br={};function i0(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const l=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(l);return u[0]!=="/"&&(u="/"+u),Ec(u,"")}const a=Ec(r,e),c=!n||dg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const a0=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=We().app.baseURL;qe.hashMode&&!r.includes("#")&&(r+="#");const o=((p=qe.history)==null?void 0:p.call(qe,r))??(qe.hashMode?pv(r):Ff(r)),s=((y=qe.routes)==null?void 0:y.call(qe,rl))??rl;let i;const a=i0(r,window.location,e.payload.path),c=Yv({...qe,scrollBehavior:(v,b,_)=>{var g;if(b===yt){i=_;return}return c.options.scrollBehavior=qe.scrollBehavior,(g=qe.scrollBehavior)==null?void 0:g.call(qe,v,yt,i||_)},history:o,routes:s});e.vueApp.use(c);const l=kt(c.currentRoute.value);c.afterEach((v,b)=>{l.value=b}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=kt(c.resolve(a)),f=()=>{u.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((v,b)=>{var _,g,P,S;((g=(_=v.matched[0])==null?void 0:_.components)==null?void 0:g.default)===((S=(P=b.matched[0])==null?void 0:P.components)==null?void 0:S.default)&&f()});const d={};for(const v in u.value)Object.defineProperty(d,v,{get:()=>u.value[v]});e._route=Qt(d),e._middleware=e._middleware||{global:[],named:{}};const h=os();try{[t,n]=Or(()=>c.isReady()),await t,n()}catch(v){[t,n]=Or(()=>e.runWithContext(()=>Rn(v))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(v,b)=>{var _;v.meta=tt(v.meta),e.isHydrating&&m&&!_n(v.meta.layout)&&(v.meta.layout=m),e._processingMiddleware=!0;{const g=new Set([...s0,...e._middleware.global]);for(const P of v.matched){const S=P.meta.middleware;if(S)if(Array.isArray(S))for(const I of S)g.add(I);else g.add(S)}for(const P of g){const S=typeof P=="string"?e._middleware.named[P]||await((_=br[P])==null?void 0:_.call(br).then(k=>k.default||k)):P;if(!S)throw new Error(`Unknown route middleware: '${P}'.`);const I=await e.runWithContext(()=>S(v,b));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const k=I||di({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>Rn(k)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(()=>{delete e._processingMiddleware}),c.afterEach(async(v,b,_)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(t_),v.matched.length===0&&await e.runWithContext(()=>Rn(di({statusCode:404,fatal:!1,statusMessage:`Page not found: ${v.fullPath}`})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=qe.scrollBehavior}catch(v){await e.runWithContext(()=>Rn(v))}}),{provide:{router:c}}}}),c0=Be({name:"nuxt:payload",setup(e){ct().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Hc(t.path);r&&Object.assign(e.static.data,r.data)}),is(()=>{var t;e.hooks.hook("link:prefetch",async n=>{jr(n).protocol||await Hc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(as,1e3)})}}),l0=N(()=>L(()=>import("./ChallengeV2Demo.a2372507.js"),["./ChallengeV2Demo.a2372507.js","./PrimaryButton.f52dfa59.js","./ChallengeV2.vue.16fe6184.js","./component-v2.4f123e31.js"],import.meta.url).then(e=>e.default)),u0=N(()=>L(()=>import("./ChallengeV3Demo.34b7cb9e.js"),["./ChallengeV3Demo.34b7cb9e.js","./PrimaryButton.f52dfa59.js","./ChallengeV3.vue.79fc99d7.js"],import.meta.url).then(e=>e.default)),f0=N(()=>L(()=>import("./CheckboxDemo.1ab6bf90.js"),["./CheckboxDemo.1ab6bf90.js","./ThemeButton.vue.199003f5.js","./Checkbox.vue.22eca99b.js","./component-v2.4f123e31.js"],import.meta.url).then(e=>e.default)),d0=N(()=>L(()=>import("./IndexDemo.b5eb16e1.js"),["./IndexDemo.b5eb16e1.js","./Card.6f9ae951.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),h0=N(()=>L(()=>import("./Mermaid.0e308ec0.js"),["./Mermaid.0e308ec0.js","./mermaid.core.bd97f718.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),p0=N(()=>L(()=>import("./PrimaryButton.f52dfa59.js"),[],import.meta.url).then(e=>e.default)),m0=N(()=>L(()=>import("./ThemeButton.7f292234.js"),["./ThemeButton.7f292234.js","./ThemeButton.vue.199003f5.js"],import.meta.url).then(e=>e.default)),g0=N(()=>L(()=>import("./VeeValidateCheckbox.3384ca47.js"),["./VeeValidateCheckbox.3384ca47.js","./Checkbox.vue.22eca99b.js","./component-v2.4f123e31.js","./PrimaryButton.f52dfa59.js","./index.esm.acb89b47.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),y0=N(()=>L(()=>import("./VeeValidateInvisible.7ad8dce5.js"),["./VeeValidateInvisible.7ad8dce5.js","./PrimaryButton.f52dfa59.js","./ChallengeV2.vue.16fe6184.js","./component-v2.4f123e31.js","./index.esm.acb89b47.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default)),_0=N(()=>L(()=>Promise.resolve().then(()=>RC),void 0,import.meta.url).then(e=>e.default)),v0=N(()=>L(()=>Promise.resolve().then(()=>QP),void 0,import.meta.url).then(e=>e.default)),b0=N(()=>L(()=>Promise.resolve().then(()=>jP),void 0,import.meta.url).then(e=>e.default)),w0=N(()=>L(()=>Promise.resolve().then(()=>lC),void 0,import.meta.url).then(e=>e.default)),E0=N(()=>L(()=>Promise.resolve().then(()=>wC),void 0,import.meta.url).then(e=>e.default)),C0=N(()=>L(()=>Promise.resolve().then(()=>TC),void 0,import.meta.url).then(e=>e.default)),T0=N(()=>L(()=>Promise.resolve().then(()=>GP),void 0,import.meta.url).then(e=>e.default)),P0=N(()=>L(()=>Promise.resolve().then(()=>Uw),void 0,import.meta.url).then(e=>e.default)),x0=N(()=>L(()=>Promise.resolve().then(()=>PP),void 0,import.meta.url).then(e=>e.default)),A0=N(()=>L(()=>Promise.resolve().then(()=>XE),void 0,import.meta.url).then(e=>e.default)),S0=N(()=>L(()=>import("./DocumentDrivenNotFound.d21cbdd8.js"),["./DocumentDrivenNotFound.d21cbdd8.js","./ButtonLink.8382d34b.js","./ButtonLink.f5436705.css","./DocumentDrivenNotFound.42c93232.css"],import.meta.url).then(e=>e.default)),R0=N(()=>L(()=>import("./Ellipsis.5a6c5682.js"),["./Ellipsis.5a6c5682.js","./Ellipsis.96015b79.css"],import.meta.url).then(e=>e.default)),I0=N(()=>L(()=>Promise.resolve().then(()=>mC),void 0,import.meta.url).then(e=>e.default)),k0=N(()=>L(()=>Promise.resolve().then(()=>OP),void 0,import.meta.url).then(e=>e.default)),O0=N(()=>L(()=>import("./DocsAside.bdbf484f.js"),["./DocsAside.bdbf484f.js","./DocsAside.214f9128.css"],import.meta.url).then(e=>e.default)),L0=N(()=>L(()=>Promise.resolve().then(()=>sC),void 0,import.meta.url).then(e=>e.default)),$0=N(()=>L(()=>import("./DocsPageBottom.b0b9f9d3.js"),["./DocsPageBottom.b0b9f9d3.js","./ProseA.3b23d1db.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.2bb154e2.js","./DocsPageBottom.995408e3.css"],import.meta.url).then(e=>e.default)),M0=N(()=>L(()=>import("./DocsPageLayout.7eba96e1.js"),["./DocsPageLayout.7eba96e1.js","./DocsAside.bdbf484f.js","./DocsAside.214f9128.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.b0b9f9d3.js","./ProseA.3b23d1db.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.2bb154e2.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.989e1fbe.js","./DocsPrevNext.5cd1832c.css","./DocsToc.1f359282.js","./DocsTocLinks.133b0863.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css"],import.meta.url).then(e=>e.default)),N0=N(()=>L(()=>import("./DocsPrevNext.989e1fbe.js"),["./DocsPrevNext.989e1fbe.js","./DocsPrevNext.5cd1832c.css"],import.meta.url).then(e=>e.default)),D0=N(()=>L(()=>import("./DocsToc.1f359282.js"),["./DocsToc.1f359282.js","./DocsTocLinks.133b0863.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css"],import.meta.url).then(e=>e.default)),H0=N(()=>L(()=>import("./DocsTocLinks.133b0863.js"),["./DocsTocLinks.133b0863.js","./DocsTocLinks.18d3dd4c.css"],import.meta.url).then(e=>e.default)),F0=N(()=>L(()=>import("./EditOnLink.0677ef74.js"),["./EditOnLink.0677ef74.js","./EditOnLink.vue.2bb154e2.js"],import.meta.url).then(e=>e.default)),j0=N(()=>L(()=>import("./SourceLink.9336f6e0.js"),["./SourceLink.9336f6e0.js","./ProseP.4963ee57.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),B0=N(()=>L(()=>import("./ProseA.3b23d1db.js"),["./ProseA.3b23d1db.js","./ProseA.3ccdc3d4.css"],import.meta.url).then(e=>e.default)),V0=N(()=>L(()=>import("./ProseBlockquote.fce01a65.js"),["./ProseBlockquote.fce01a65.js","./ProseBlockquote.9b44c541.css"],import.meta.url).then(e=>e.default)),z0=N(()=>L(()=>import("./ProseCode.17426633.js"),["./ProseCode.17426633.js","./ProseCode.4d67527c.css"],import.meta.url).then(e=>e.default)),U0=N(()=>L(()=>import("./ProseCodeInline.9c9d33d7.js"),["./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css"],import.meta.url).then(e=>e.default)),K0=N(()=>L(()=>import("./ProseEm.b4bfd934.js"),["./ProseEm.b4bfd934.js","./ProseEm.f450adf9.css"],import.meta.url).then(e=>e.default)),W0=N(()=>L(()=>import("./ProseH1.8b960107.js"),["./ProseH1.8b960107.js","./ProseH1.947db9d1.css"],import.meta.url).then(e=>e.default)),q0=N(()=>L(()=>import("./ProseH2.764ace8e.js"),["./ProseH2.764ace8e.js","./ProseH2.7deacf3b.css"],import.meta.url).then(e=>e.default)),Q0=N(()=>L(()=>import("./ProseH3.54312fcb.js"),["./ProseH3.54312fcb.js","./ProseH3.a54ffcda.css"],import.meta.url).then(e=>e.default)),J0=N(()=>L(()=>import("./ProseH4.9099838c.js"),["./ProseH4.9099838c.js","./ProseH4.c1de1bd7.css"],import.meta.url).then(e=>e.default)),Z0=N(()=>L(()=>import("./ProseH5.c7b907e8.js"),["./ProseH5.c7b907e8.js","./ProseH5.c1fb54ee.css"],import.meta.url).then(e=>e.default)),Y0=N(()=>L(()=>import("./ProseH6.eb0d4c67.js"),["./ProseH6.eb0d4c67.js","./ProseH6.ffba47c6.css"],import.meta.url).then(e=>e.default)),G0=N(()=>L(()=>import("./ProseHr.ed5dea36.js"),["./ProseHr.ed5dea36.js","./ProseHr.51d378cd.css"],import.meta.url).then(e=>e.default)),X0=N(()=>L(()=>import("./ProseImg.6c526aec.js"),["./ProseImg.6c526aec.js","./ProseImg.9ec4cf0b.css"],import.meta.url).then(e=>e.default)),eb=N(()=>L(()=>import("./ProseLi.63d33c9f.js"),["./ProseLi.63d33c9f.js","./ProseLi.56cd83cc.css"],import.meta.url).then(e=>e.default)),tb=N(()=>L(()=>import("./ProseOl.52c1e340.js"),["./ProseOl.52c1e340.js","./ProseOl.8e9c36b1.css"],import.meta.url).then(e=>e.default)),nb=N(()=>L(()=>import("./ProseP.4963ee57.js"),["./ProseP.4963ee57.js","./ProseP.5a7a150a.css"],import.meta.url).then(e=>e.default)),rb=N(()=>L(()=>import("./ProseStrong.f37f0507.js"),["./ProseStrong.f37f0507.js","./ProseStrong.a14f2f4f.css"],import.meta.url).then(e=>e.default)),ob=N(()=>L(()=>import("./ProseTable.0daabad2.js"),["./ProseTable.0daabad2.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),sb=N(()=>L(()=>import("./ProseTbody.09a535b9.js"),[],import.meta.url).then(e=>e.default)),ib=N(()=>L(()=>import("./ProseTd.8928ab13.js"),["./ProseTd.8928ab13.js","./ProseTd.8301ae56.css"],import.meta.url).then(e=>e.default)),ab=N(()=>L(()=>import("./ProseTh.0ea95150.js"),["./ProseTh.0ea95150.js","./ProseTh.366c0ecd.css"],import.meta.url).then(e=>e.default)),cb=N(()=>L(()=>import("./ProseThead.9910ba3b.js"),["./ProseThead.9910ba3b.js","./ProseThead.ff3d08af.css"],import.meta.url).then(e=>e.default)),lb=N(()=>L(()=>import("./ProseTr.ad4040b6.js"),["./ProseTr.ad4040b6.js","./ProseTr.16cbe189.css"],import.meta.url).then(e=>e.default)),ub=N(()=>L(()=>import("./ProseUl.d083731b.js"),["./ProseUl.d083731b.js","./ProseUl.c5b3f77f.css"],import.meta.url).then(e=>e.default)),fb=N(()=>L(()=>Promise.resolve().then(()=>Mw),void 0,import.meta.url).then(e=>e.default)),db=N(()=>L(()=>import("./Badge.436f1233.js"),["./Badge.436f1233.js","./Badge.af82fbb4.css"],import.meta.url).then(e=>e.default)),hb=N(()=>L(()=>import("./ButtonLink.8382d34b.js"),["./ButtonLink.8382d34b.js","./ButtonLink.f5436705.css"],import.meta.url).then(e=>e.default)),pb=N(()=>L(()=>import("./Callout.afe9558a.js"),["./Callout.afe9558a.js","./Callout.07cf69f8.css"],import.meta.url).then(e=>e.default)),mb=N(()=>L(()=>import("./CodeBlock.2c1efb8e.js"),["./CodeBlock.2c1efb8e.js","./CodeBlock.991bd354.css"],import.meta.url).then(e=>e.default)),gb=N(()=>L(()=>import("./CodeGroup.84dd6be9.js"),["./CodeGroup.84dd6be9.js","./TabsHeader.dd0c96ba.js","./TabsHeader.a07a7b39.css","./CodeGroup.0e4e4f50.css"],import.meta.url).then(e=>e.default)),yb=N(()=>L(()=>Promise.resolve().then(()=>$P),void 0,import.meta.url).then(e=>e.default)),_b=N(()=>L(()=>import("./CopyButton.b27b2843.js"),[],import.meta.url).then(e=>e.default)),vb=N(()=>L(()=>import("./List.ac97ce53.js"),["./List.ac97ce53.js","./MDCSlot.6bf01385.js","./List.df356ce6.css"],import.meta.url).then(e=>e.default)),bb=N(()=>L(()=>import("./NuxtImg.097f1e99.js"),["./NuxtImg.097f1e99.js","./NuxtImg.vue.e55e6bf2.js"],import.meta.url).then(e=>e.default)),wb=N(()=>L(()=>import("./Props.112b3d14.js"),["./Props.112b3d14.js","./ProseTh.0ea95150.js","./ProseTh.366c0ecd.css","./ProseTr.ad4040b6.js","./ProseTr.16cbe189.css","./ProseThead.9910ba3b.js","./ProseThead.ff3d08af.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./ProseTd.8928ab13.js","./ProseTd.8301ae56.css","./ProseTbody.09a535b9.js","./ProseTable.0daabad2.js","./ProseTable.57db854a.css"],import.meta.url).then(e=>e.default)),Eb=N(()=>L(()=>import("./Sandbox.e79006f2.js"),["./Sandbox.e79006f2.js","./TabsHeader.dd0c96ba.js","./TabsHeader.a07a7b39.css","./Sandbox.c3073fa3.css"],import.meta.url).then(e=>e.default)),Cb=N(()=>L(()=>import("./TabsHeader.dd0c96ba.js"),["./TabsHeader.dd0c96ba.js","./TabsHeader.a07a7b39.css"],import.meta.url).then(e=>e.default)),Tb=N(()=>L(()=>import("./Terminal.c1821b13.js"),["./Terminal.c1821b13.js","./Terminal.67df3c7d.css"],import.meta.url).then(e=>e.default)),Pb=N(()=>L(()=>import("./VideoPlayer.bd73326f.js"),["./VideoPlayer.bd73326f.js","./NuxtImg.vue.e55e6bf2.js","./VideoPlayer.9ead91bb.css"],import.meta.url).then(e=>e.default)),xb=N(()=>L(()=>import("./IconCodeSandBox.3e7cdd67.js"),[],import.meta.url).then(e=>e.default)),Ab=N(()=>L(()=>import("./IconDocus.26ecb9c2.js"),[],import.meta.url).then(e=>e.default)),Sb=N(()=>L(()=>import("./IconNuxt.b42a97e3.js"),[],import.meta.url).then(e=>e.default)),Rb=N(()=>L(()=>import("./IconNuxtContent.b42a97e3.js"),[],import.meta.url).then(e=>e.default)),Ib=N(()=>L(()=>import("./IconNuxtLabs.96bf357b.js"),[],import.meta.url).then(e=>e.default)),kb=N(()=>L(()=>import("./IconNuxtStudio.90196f3a.js"),["./IconNuxtStudio.90196f3a.js","./IconNuxtStudio.a5c35f12.css"],import.meta.url).then(e=>e.default)),Ob=N(()=>L(()=>import("./IconStackBlitz.9bead4b1.js"),[],import.meta.url).then(e=>e.default)),Lb=N(()=>L(()=>import("./IconVueTelescope.d47d11f1.js"),[],import.meta.url).then(e=>e.default)),$b=N(()=>L(()=>import("./BlockHero.b705cb9e.js"),["./BlockHero.b705cb9e.js","./ButtonLink.8382d34b.js","./ButtonLink.f5436705.css","./Terminal.c1821b13.js","./Terminal.67df3c7d.css","./VideoPlayer.bd73326f.js","./NuxtImg.vue.e55e6bf2.js","./VideoPlayer.9ead91bb.css","./BlockHero.48386f60.css"],import.meta.url).then(e=>e.default)),Mb=N(()=>L(()=>import("./Card.6f9ae951.js"),["./Card.6f9ae951.js","./Card.8d648d10.css"],import.meta.url).then(e=>e.default)),Nb=N(()=>L(()=>import("./CardGrid.0b546144.js"),["./CardGrid.0b546144.js","./CardGrid.3325d323.css"],import.meta.url).then(e=>e.default)),Db=N(()=>L(()=>import("./VoltaBoard.b7bae88a.js"),["./VoltaBoard.b7bae88a.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default)),Hb=N(()=>L(()=>import("./ComponentPlayground.964c5313.js"),["./ComponentPlayground.964c5313.js","./ComponentPlaygroundData.9e3ab38d.js","./TabsHeader.dd0c96ba.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.d5cd8e19.js","./ProseH4.9099838c.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./Badge.436f1233.js","./Badge.af82fbb4.css","./ProseP.4963ee57.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.013615f2.js","./ComponentPlaygroundTokens.vue.005e5c3f.js","./ComponentPlaygroundData.a33f5743.css","./ComponentPlayground.ace5ef70.css"],import.meta.url).then(e=>e.default)),Fb=N(()=>L(()=>import("./ComponentPlaygroundData.9e3ab38d.js"),["./ComponentPlaygroundData.9e3ab38d.js","./TabsHeader.dd0c96ba.js","./TabsHeader.a07a7b39.css","./ComponentPlaygroundProps.d5cd8e19.js","./ProseH4.9099838c.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./Badge.436f1233.js","./Badge.af82fbb4.css","./ProseP.4963ee57.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css","./ComponentPlaygroundSlots.vue.013615f2.js","./ComponentPlaygroundTokens.vue.005e5c3f.js","./ComponentPlaygroundData.a33f5743.css"],import.meta.url).then(e=>e.default)),jb=N(()=>L(()=>import("./ComponentPlaygroundProps.d5cd8e19.js"),["./ComponentPlaygroundProps.d5cd8e19.js","./ProseH4.9099838c.js","./ProseH4.c1de1bd7.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./Badge.436f1233.js","./Badge.af82fbb4.css","./ProseP.4963ee57.js","./ProseP.5a7a150a.css","./ComponentPlaygroundProps.4c559c82.css"],import.meta.url).then(e=>e.default)),Bb=N(()=>L(()=>import("./ComponentPlaygroundSlots.ba4539e6.js"),["./ComponentPlaygroundSlots.ba4539e6.js","./ComponentPlaygroundSlots.vue.013615f2.js"],import.meta.url).then(e=>e.default)),Vb=N(()=>L(()=>import("./ComponentPlaygroundTokens.0c5cff43.js"),["./ComponentPlaygroundTokens.0c5cff43.js","./ComponentPlaygroundTokens.vue.005e5c3f.js"],import.meta.url).then(e=>e.default)),zb=N(()=>L(()=>import("./PreviewLayout.b72ee82f.js"),["./PreviewLayout.b72ee82f.js","./PreviewLayout.8b7fcbc8.css"],import.meta.url).then(e=>e.default)),Ub=N(()=>L(()=>import("./TokensPlayground.0b65ed3a.js"),[],import.meta.url).then(e=>e.default)),Kb=N(()=>L(()=>import("./ContentDoc.65d89f43.js"),["./ContentDoc.65d89f43.js","./ContentRenderer.a1404e70.js","./ContentRendererMarkdown.vue.fe8f4dc4.js","./ContentQuery.edc0febd.js"],import.meta.url).then(e=>e.default)),Wb=N(()=>L(()=>import("./ContentList.99a21dce.js"),["./ContentList.99a21dce.js","./ContentQuery.edc0febd.js"],import.meta.url).then(e=>e.default)),qb=N(()=>L(()=>import("./ContentNavigation.4c75c3d2.js"),[],import.meta.url).then(e=>e.default)),Qb=N(()=>L(()=>import("./ContentQuery.edc0febd.js"),[],import.meta.url).then(e=>e.default)),Jb=N(()=>L(()=>import("./ContentRenderer.a1404e70.js"),["./ContentRenderer.a1404e70.js","./ContentRendererMarkdown.vue.fe8f4dc4.js"],import.meta.url).then(e=>e.default)),Zb=N(()=>L(()=>import("./ContentRendererMarkdown.15b4a41e.js"),["./ContentRendererMarkdown.15b4a41e.js","./ContentRendererMarkdown.vue.fe8f4dc4.js"],import.meta.url).then(e=>e.default)),Yb=N(()=>L(()=>import("./ContentSlot.6e2f60c7.js"),["./ContentSlot.6e2f60c7.js","./MDCSlot.6bf01385.js"],import.meta.url).then(e=>e.default)),Gb=N(()=>L(()=>import("./DocumentDrivenEmpty.379fad62.js"),[],import.meta.url).then(e=>e.default)),Xb=N(()=>L(()=>import("./Markdown.26ba9b24.js"),["./Markdown.26ba9b24.js","./ContentSlot.6e2f60c7.js","./MDCSlot.6bf01385.js"],import.meta.url).then(e=>e.default)),e1=N(()=>L(()=>import("./ProsePre.c0d8a25c.js"),["./ProsePre.c0d8a25c.js","./ProseCode.17426633.js","./ProseCode.4d67527c.css","./ProsePre.e63e49c6.css"],import.meta.url).then(e=>e.default)),t1=N(()=>L(()=>import("./Checkbox.5aac6a53.js"),["./Checkbox.5aac6a53.js","./Checkbox.vue.22eca99b.js","./component-v2.4f123e31.js"],import.meta.url).then(e=>e.default)),n1=N(()=>L(()=>import("./ChallengeV2.ccc7d751.js"),["./ChallengeV2.ccc7d751.js","./ChallengeV2.vue.16fe6184.js","./component-v2.4f123e31.js"],import.meta.url).then(e=>e.default)),r1=N(()=>L(()=>import("./ChallengeV3.05eab444.js"),["./ChallengeV3.05eab444.js","./ChallengeV3.vue.79fc99d7.js"],import.meta.url).then(e=>e.default)),o1=N(()=>L(()=>Promise.resolve().then(()=>YE),void 0,import.meta.url).then(e=>e.default)),s1=N(()=>L(()=>import("./IconCSS.be4af4a0.js"),["./IconCSS.be4af4a0.js","./IconCSS.23e2cb26.css"],import.meta.url).then(e=>e.default)),i1=[["ChallengeV2Demo",l0],["ChallengeV3Demo",u0],["CheckboxDemo",f0],["IndexDemo",d0],["Mermaid",h0],["PrimaryButton",p0],["ThemeButton",m0],["VeeValidateCheckbox",g0],["VeeValidateInvisible",y0],["AppDocSearch",_0],["AppFooter",v0],["AppHeader",b0],["AppHeaderDialog",w0],["AppHeaderLogo",E0],["AppHeaderNavigation",C0],["AppLayout",T0],["AppLoadingBar",P0],["AppSearch",x0],["AppSocialIcons",A0],["DocumentDrivenNotFound",S0],["Ellipsis",R0],["Logo",I0],["ThemeSelect",k0],["DocsAside",O0],["DocsAsideTree",L0],["DocsPageBottom",$0],["DocsPageLayout",M0],["DocsPrevNext",N0],["DocsToc",D0],["DocsTocLinks",H0],["EditOnLink",F0],["SourceLink",j0],["ProseA",B0],["ProseBlockquote",V0],["ProseCode",z0],["ProseCodeInline",U0],["ProseEm",K0],["ProseH1",W0],["ProseH2",q0],["ProseH3",Q0],["ProseH4",J0],["ProseH5",Z0],["ProseH6",Y0],["ProseHr",G0],["ProseImg",X0],["ProseLi",eb],["ProseOl",tb],["ProseP",nb],["ProseStrong",rb],["ProseTable",ob],["ProseTbody",sb],["ProseTd",ib],["ProseTh",ab],["ProseThead",cb],["ProseTr",lb],["ProseUl",ub],["Alert",fb],["Badge",db],["ButtonLink",hb],["Callout",pb],["CodeBlock",mb],["CodeGroup",gb],["Container",yb],["CopyButton",_b],["List",vb],["NuxtImg",bb],["Props",wb],["Sandbox",Eb],["TabsHeader",Cb],["Terminal",Tb],["VideoPlayer",Pb],["IconCodeSandBox",xb],["IconDocus",Ab],["IconNuxt",Sb],["IconNuxtContent",Rb],["IconNuxtLabs",Ib],["IconNuxtStudio",kb],["IconStackBlitz",Ob],["IconVueTelescope",Lb],["BlockHero",$b],["Card",Mb],["CardGrid",Nb],["VoltaBoard",Db],["ComponentPlayground",Hb],["ComponentPlaygroundData",Fb],["ComponentPlaygroundProps",jb],["ComponentPlaygroundSlots",Bb],["ComponentPlaygroundTokens",Vb],["PreviewLayout",zb],["TokensPlayground",Ub],["ContentDoc",Kb],["ContentList",Wb],["ContentNavigation",qb],["ContentQuery",Qb],["ContentRenderer",Jb],["ContentRendererMarkdown",Zb],["MDCSlot",Yb],["DocumentDrivenEmpty",Gb],["Markdown",Xb],["ProsePre",e1],["RecaptchaCheckbox",t1],["RecaptchaChallengeV2",n1],["RecaptchaChallengeV3",r1],["Icon",o1],["IconCSS",s1]],a1=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of i1)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),fr={default:()=>L(()=>import("./default.972a2835.js"),["./default.972a2835.js","./DocsPageLayout.7eba96e1.js","./DocsAside.bdbf484f.js","./DocsAside.214f9128.css","./ProseCodeInline.9c9d33d7.js","./ProseCodeInline.9cb11e30.css","./DocsPageBottom.b0b9f9d3.js","./ProseA.3b23d1db.js","./ProseA.3ccdc3d4.css","./EditOnLink.vue.2bb154e2.js","./DocsPageBottom.995408e3.css","./DocsPrevNext.989e1fbe.js","./DocsPrevNext.5cd1832c.css","./DocsToc.1f359282.js","./DocsTocLinks.133b0863.js","./DocsTocLinks.18d3dd4c.css","./DocsToc.27389514.css","./DocsPageLayout.dd11cbcc.css","./mermaid.core.bd97f718.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(e=>e.default||e),page:()=>L(()=>import("./page.ecaaff9e.js"),["./page.ecaaff9e.js","./page.6f89b326.css"],import.meta.url).then(e=>e.default||e)},c1=Be({name:"nuxt:prefetch",setup(e){const t=ct();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof fr[r]=="function"&&await fr[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,a,c,l;if(en(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((a=r==null?void 0:r.meta)==null?void 0:a.middleware)?(c=r==null?void 0:r.meta)==null?void 0:c.middleware:[(l=r==null?void 0:r.meta)==null?void 0:l.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof br[u]=="function"&&br[u]();o&&typeof fr[o]=="function"&&fr[o]()})}}),l1=["ChallengeV2Demo","ChallengeV3Demo","CheckboxDemo","IndexDemo","Mermaid","PrimaryButton","ThemeButton","VeeValidateCheckbox","VeeValidateInvisible","AppDocSearch","AppFooter","AppHeader","AppHeaderDialog","AppHeaderLogo","AppHeaderNavigation","AppLayout","AppLoadingBar","AppSearch","AppSocialIcons","DocumentDrivenNotFound","Ellipsis","Logo","ThemeSelect","DocsAside","DocsAsideTree","DocsPageBottom","DocsPageLayout","DocsPrevNext","DocsToc","DocsTocLinks","EditOnLink","SourceLink","ProseA","ProseBlockquote","ProseCode","ProseCodeInline","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl","ProseCodeCopyButton","Alert","Badge","ButtonLink","Callout","CodeBlock","CodeGroup","Container","CopyButton","List","NuxtImg","Props","Sandbox","TabsHeader","Terminal","VideoPlayer","IconCodeSandBox","IconDocus","IconNuxt","IconNuxtContent","IconNuxtLabs","IconNuxtStudio","IconStackBlitz","IconVueTelescope","BlockHero","Card","CardGrid","VoltaBoard","ComponentPlayground","ComponentPlaygroundData","ComponentPlaygroundProps","ComponentPlaygroundSlots","ComponentPlaygroundTokens","PreviewLayout","TokensPlayground","UnoIcon","ContentPreviewMode","ContentDoc","ContentList","ContentNavigation","ContentQuery","ContentRenderer","ContentRendererMarkdown","MDCSlot","DocumentDrivenEmpty","Markdown","ProsePre","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtPicture","RecaptchaCheckbox","RecaptchaChallengeV2","RecaptchaChallengeV3","ColorScheme","MDC","MDCRenderer","MDCSlot","Icon","IconCSS","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body"],u1=/\d/,f1=["-","_","/","."];function d1(e=""){if(!u1.test(e))return e.toUpperCase()===e}function Jf(e,t){const n=t??f1,r=[];if(!e||typeof e!="string")return r;let o="",s,i;for(const a of e){const c=n.includes(a);if(c===!0){r.push(o),o="",s=void 0;continue}const l=d1(a);if(i===!1){if(s===!1&&l===!0){r.push(o),o=a,s=l;continue}if(s===!0&&l===!1&&o.length>1){const u=o[o.length-1];r.push(o.slice(0,Math.max(0,o.length-1))),o=u+a,s=l;continue}}o+=a,s=l,i=c}return r.push(o),r}function h1(e){return e?e[0].toUpperCase()+e.slice(1):""}function p1(e){return e?(Array.isArray(e)?e:Jf(e)).map(t=>h1(t)).join(""):""}function vi(e,t){return e?(Array.isArray(e)?e:Jf(e)).map(n=>n.toLowerCase()).join(t??"-"):""}const Sn=()=>{const e=Rt("dd-pages",()=>kt(Qt({}))),t=Rt("dd-surrounds",()=>kt(Qt({}))),n=Rt("dd-navigation"),r=Rt("dd-globals",()=>kt(Qt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Vr=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Sn(),o=ee(()=>vn(at().path)),s=ee(()=>t.value[o.value]),i=ee(()=>n.value[o.value]),a=ee(()=>{var h,m;return(m=(h=s==null?void 0:s.value)==null?void 0:h.body)==null?void 0:m.toc}),c=ee(()=>{var h;return(h=s.value)==null?void 0:h._type}),l=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.layout}),f=ee(()=>{var h;return(h=i.value)==null?void 0:h[1]}),d=ee(()=>{var h;return(h=i.value)==null?void 0:h[0]});return{globals:r,navigation:e,surround:i,page:s,excerpt:l,toc:a,type:c,layout:u,next:f,prev:d}},Zf=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=Zf(t);if(n)return n}},Yf=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=Yf(e,n.children);if(r)return r}}},Gf=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=Gf(e,n.children);if(r)return r}}},m1=(e,t,n)=>{let r;const o=(s,i)=>{for(const a of i)if(!(s!=="/"&&a._path==="/")){if(s!=null&&s.startsWith(a._path)&&a[t]&&(r=a[t]),a._path===s)return;a.children&&o(s,a.children)}};return o(e,n),r},pa=()=>({navBottomLink:Zf,navDirFromPath:Yf,navPageFromPath:Gf,navKeyFromPath:m1});function ma(e){return JSON.stringify(e,g1)}function g1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const Xf=e=>{let t=ma(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},ga=()=>({isEnabled:()=>{const r=at().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||lo("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>lo("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{lo("previewToken").value=r,at().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),Lo=e=>lf(e,We().public.content.api.baseURL),ed=()=>{const{experimental:e}=We().public.content;return e.clientDB?!0:ga().isEnabled()},sl=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),ya=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),ax=e=>t=>e&&e.length?ya(t,n=>!e.includes(n)):t,cx=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),td=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},lx=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=td(e);return ya(t,o=>!r.includes(o)&&!n.includes(o[0]))},ux=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=td(e);return ya(t,o=>r.includes(o)||n.includes(o[0]))},fx=(e,t)=>{const n=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),r=Object.keys(t).filter(o=>!o.startsWith("$"));for(const o of r)e=e.sort((s,i)=>{const a=[sl(s,o),sl(i,o)].map(c=>{if(c!==null)return c instanceof Date?c.toISOString():c});return t[o]===-1&&a.reverse(),n.compare(a[0],a[1])});return e},dx=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Tt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],y1=["sort","where","only","without"];function _1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=y1.includes(i)?Tt(t.initialParams[i]):t.initialParams[i];const r=(i,a=c=>c)=>(...c)=>(n[i]=a(...c),s),o=i=>{var a;return t.legacy?i!=null&&i.surround?i.surround:i&&(i!=null&&i.dirConfig&&(i.result={_path:(a=i.dirConfig)==null?void 0:a._path,...i.result,_dir:i.dirConfig}),i!=null&&i._path||Array.isArray(i)||!Object.prototype.hasOwnProperty.call(i,"result")?i:i==null?void 0:i.result):i},s={params:()=>({...n,...n.where?{where:[...Tt(n.where)]}:{},...n.sort?{sort:[...Tt(n.sort)]}:{}}),only:r("only",Tt),without:r("without",Tt),where:r("where",i=>[...Tt(n.where),...Tt(i)]),sort:r("sort",i=>[...Tt(n.sort),...Tt(i)]),limit:r("limit",i=>parseInt(String(i),10)),skip:r("skip",i=>parseInt(String(i),10)),find:()=>e(s).then(o),findOne:()=>e(r("first")(!0)).then(o),count:()=>e(r("count")(!0)).then(o),locale:i=>s.where({_locale:i}),withSurround:r("surround",(i,a)=>({query:i,...a})),withDirConfig:()=>r("dirConfig")(!0)};return t.legacy&&(s.findSurround=(i,a)=>s.withSurround(i,a).find().then(o)),s}const v1=()=>async e=>{const{content:t}=We().public,n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/query/${`${ko(n)}.${t.integrity}`}/${Xf(n)}.json`):Lo(`/query/${ko(n)}.${t.integrity}.json`);if(ed())return(await L(()=>import("./client-db.cf635550.js"),["./client-db.cf635550.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ma(n),previewToken:ga().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function fo(e,...t){const{content:n}=We().public,r=_1(v1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=si(tn(e,...t)));const s=r.params;return r.params=()=>{var a,c,l;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:vn(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(a=i.sort)!=null&&a.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((l=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&l._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const b1=async e=>{const{content:t}=We().public;typeof(e==null?void 0:e.params)!="function"&&(e=fo(e));const n=e.params(),r=t.experimental.stripQueryParameters?Lo(`/navigation/${`${ko(n)}.${t.integrity}`}/${Xf(n)}.json`):Lo(`/navigation/${ko(n)}.${t.integrity}.json`);if(ed())return(await L(()=>import("./client-db.cf635550.js"),["./client-db.cf635550.js","./_commonjsHelpers.725317a4.js"],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:ma(n),previewToken:ga().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},w1=Be(e=>{var l,u,f,d;const t=(u=(l=We())==null?void 0:l.public)==null?void 0:u.content.documentDriven,n=(d=(f=We())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Sn(),a=(h,m,p,y)=>{var v;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((v=h.matched[0].meta)!=null&&v.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:b}=pa(),_=b(m._path,"layout",p);if(_)return _}if(t.layoutFallbacks&&y){let b;for(const _ of t.layoutFallbacks)if(y[_]&&y[_].layout){b=y[_].layout;break}if(b)return b}return"default"},c=async(h,m=!1)=>{e.callHook("content:document-driven:start",{route:h,dedup:m});const p=h.meta.documentDriven||{};if(h.meta.documentDriven===!1)return;const y=vn(h.path),v=[];if(t.navigation&&p.navigation!==!1){const b=()=>{const{navigation:_}=Sn();return _.value&&!m?_.value:b1().then(g=>(_.value=g,g)).catch(()=>null)};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.globals){const b=()=>{const{globals:_}=Sn();if(typeof t.globals=="object"&&Array.isArray(t.globals)){console.log("Globals must be a list of keys with QueryBuilderParams as a value.");return}return Promise.all(Object.entries(t.globals).map(([g,P])=>{if(!m&&_.value[g])return _.value[g];let S="findOne";return P!=null&&P.type&&(S=P.type),fo(P)[S]().catch(()=>null)})).then(g=>g.reduce((P,S,I)=>{const k=Object.keys(t.globals)[I];return P[k]=S,P},{}))};v.push(b)}else v.push(()=>Promise.resolve(null));if(t.page&&p.page!==!1){let b={_path:y};typeof p.page=="string"&&(b={_path:p.page}),typeof p.page=="object"&&(b=p.page);const _=()=>{const{pages:g}=Sn();return!m&&g.value[y]&&g.value[y]._path===y?g.value[y]:fo().where(b).findOne().catch(()=>null)};v.push(_)}else v.push(()=>Promise.resolve(null));if(t.surround&&p.surround!==!1){let b=y;["string","object"].includes(typeof p.page)&&(b=p.page),["string","object"].includes(typeof p.surround)&&(b=p.surround);const _=()=>{const{surrounds:g}=Sn();return!m&&g.value[y]?g.value[y]:fo().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(b).catch(()=>null)};v.push(_)}else v.push(()=>Promise.resolve(null));return await Promise.all(v.map(b=>b())).then(async([b,_,g,P])=>{var I,k;b&&(r.value=b),_&&(s.value=_),P&&(i.value[y]=P);const S=(g==null?void 0:g.redirect)||((k=(I=g==null?void 0:g._dir)==null?void 0:I.navigation)==null?void 0:k.redirect);if(S)return o.value[y]=g,S;if(g){const H=a(h,g,b,_),R=fr[H];R&&typeof R=="function"&&await R(),h.meta.layout=H,g.layout=H}o.value[y]=g,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:g,navigation:b,globals:_,surround:P})})};{const h=ct();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!en(m)){const p=h.resolve(m);p.matched.length>0&&c(p)}}),e.hooks.hook("content:document-driven:finish",({page:m})=>{var p;(p=m==null?void 0:m.body)!=null&&p.children&&nd(m.body.children)})}Xy(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=vn(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return en(p)?yf(e,Rf,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(at(),!0))});function nd(e){for(const t of e)if(t.children&&nd(t.children),t.type==="element"&&t.tag){const n=p1(t.tag);for(const r of["Prose"+n,n])l1.includes(r)&&R_(r)}}const E1=Be(e=>{const t=We().public.studio||{},n=at(),r=lo("previewToken",{sameSite:"none",secure:!0}),o=Rt("studio-client-db",()=>null);async function s(){const i=await L(()=>import("./useStudio.f0112abf.js"),["./useStudio.f0112abf.js","./useStudio.5fa23b79.css"],import.meta.url).then(l=>l.useStudio),{mountPreviewUI:a,initiateIframeCommunication:c}=i();a(),c()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&(r.value=String(n.query.preview)),window.sessionStorage.setItem("previewToken",String(r.value)),e.hook("content:storage",i=>{o.value=i}),e.hook("app:mounted",async()=>{await s()})}});let _a=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");const rd=new RegExp("\\{([^}]+)\\}","g"),C1="@dark",T1="@light",P1="@initial";function il(e,t,n,r="."){typeof t=="string"&&(t=t.split(r));const o=t.length-1;for(let i=0;it.includes(i))){r[o]={value:e[o]};continue}r[o]=sd(e[o],t,n)}}return r}function x1(e={},t={}){const n={key:"attributes.variable",onNotFound:!1,...t};function r(o=void 0,s){if(!o)return M(e);const i={...n,...s},{key:a,onNotFound:c}=i,l=$o(M(e),o);if(!l&&typeof c=="function"){c(o,i);return}return a?l&&(l[a]?l[a]:$o(l,a)):l}return r.bind(this)}function id(e){return Array.isArray(e)&&(e=e.join("-")),e.charAt(0)==="{"&&e.charAt(e.length-1)==="}"&&(e=e.substr(1,e.length-2)),`--${e.split(".").join("-")}`}function A1(e,t,n,r,o=[],s,i){var c;const a=R1(e,t,r,s,i);return a||((c=s==null?void 0:s.utils)!=null&&c[e]?typeof s.utils[e]=="function"?s.utils[e](t):t?s.utils[e]:{}:(t=S1(e,t,o,s,i),{[e]:t}))}function S1(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>al(e,s,n,r,o)).join(","):t=al(e,t,n,r,o)),t}function al(e,t,n,r,o){return typeof t=="number"?t:(t.match(rd)&&(t=ad(e,t,n,r,o)),t==="{}"?"":t)}function ad(e,t,n,r,o){return typeof t!="string"||(t=t.replace(rd,(s,i)=>{const a=id(i),c=`var(${a})`;if(n.includes(a))return c;const l=r.$tokens(i,{key:void 0,loc:o}),u=typeof l=="string"?l:(l==null?void 0:l.variable)||(l==null?void 0:l.value);return u||c})),t}function R1(e,t,n,r,o){if(e.startsWith("@")){const s=a=>{a=r.options.colorSchemeMode==="class"?`:root.${a}`:`@media (prefers-color-scheme: ${a})`;const c=a.startsWith("@media");return r!=null&&r.runtime?{"@media":{[a]:t}}:{[c?a:`${a} &`]:t}};if(e===C1)return s("dark");if(e===T1)return s("light");if(e===P1){const a=r.$tokens("media.initial",{key:"value",onNotFound:!1,loc:o});return{[`@media${a?` ${a}`:""}`]:t}}const i=r.$tokens("media",{key:void 0,loc:o});if(i){const a=e.replace("@","");if(i[a])return{[`@media ${i[a].value}`]:t}}return{[e]:t}}}function I1(e,t,n,r){var i;let o="";if(e==="dark"||e==="light")r==="class"?o=`:root.${e}`:o=`(prefers-color-scheme: ${e})`;else if(e!=="initial"&&n){const a=(i=n==null?void 0:n.media)==null?void 0:i[e];a&&(o=a.value)}let s;return o?o.startsWith(".")?s=`@media { :root${o} {`:o.startsWith(":root")?s=`@media { ${o} {`:s=`@media ${o} { :root {`:s="@media { :root {",`${`${`${s}--pinceau-mq: ${String(e)}; ${t}`} } }`} `}const cl=/\s*,\s*(?![^()]*\))/,k1=(e,t)=>e.reduce((n,r)=>(n.push(...t.map(o=>o.includes("&")?o.replace(/&/g,/[ +>|~]/.test(r)&&/&.*&/.test(o)?`:is(${r})`:r):`${r} ${o}`)),n),[]),{prototype:{toString:O1}}=Object,L1=(e,t=void 0)=>{const n=new WeakSet,r=(s,i,a,c,l,u,f)=>{for(let d=0;d{let u="";for(const f in s){const d=f.charCodeAt(0)===64,h=f.charCodeAt(0)===45&&f.charCodeAt(1)===45;for(const m of d&&Array.isArray(s[f])?s[f]:[s[f]]){if(t&&(f!==c||m!==l)){const y=t(f,m,s,i);if(y!==null){u+=typeof y=="object"&&y?o(y,i,a,f,m):y??"";continue}}if(typeof m=="object"&&m&&m.toString===O1){n.has(i)&&(n.delete(i),u+="}");const y=Object(f);let v;d?(v=i,u+=o(m,v,a.concat(y))):(v=i.length?k1(i,f.split(cl)):f.split(cl),u+=o(m,v,a)),n.has(y)&&(n.delete(y),u+="}"),n.has(v)&&(n.delete(v),u+="}")}else u=r(u,i,a,f,m,d,h)}}return u};return o(e,[],[])},cd=".phy[--]";function $1(e,t={},n,r){const o=ce(),s=ce(t),i={},a=(m,p)=>L1(m,(y,v,b,_)=>A1(y,v,b,_,[],{$tokens:e,utils:s.value,options:{colorSchemeMode:n,runtime:!0}},p));function c(){const m=globalThis||window;let p,y;if(m&&m.document){const v=`pinceau-runtime${r?`-${r}`:""}`,b=m.document;if(p=b.querySelector(`style#${v}`),!p){const _=b.createElement("style");_.id=v,_.type="text/css",p=b.head.appendChild(_)}y=b.querySelector(`style#pinceau-runtime-hydratable${r?`-${r}`:""}`)}return o.value=(p==null?void 0:p.sheet)||M1(),y?l(y):void 0}function l(m){var y,v;const p={};for(const b of Object.entries(((y=m==null?void 0:m.sheet)==null?void 0:y.cssRules)||((v=o.value)==null?void 0:v.cssRules)||{})){const[_,g]=b,P=N1(g);if(!P||!P.uid)continue;p[P.uid]||(p[P.uid]={});const S=o.value.insertRule(g.cssText,Number(_));p[P.uid][P.type]=o.value.cssRules.item(S)}return m&&m.remove(),p}function u(){return o.value?Object.entries(o.value.cssRules).reduce((m,[,p])=>(m+=`${p==null?void 0:p.cssText} `||"",m),""):""}function f(m,p,y,v,b){if(!Object.keys(y).length)return;const _=a({"@media":{[cd]:{"--puid":`${m}-${p}`},...y}},b);if(!_)return;v&&d(v);const g=o.value.insertRule(_);return o.value.cssRules[g]}function d(m){const p=Object.values(o.value.cssRules).indexOf(m);if(!(typeof p>"u"||isNaN(p)))try{o.value.deleteRule(p)}catch{}}const h=c();return{stringify:a,cache:i,pushDeclaration:f,deleteRule:d,sheet:o,toString:u,hydratableRules:h}}function M1(){return{cssRules:[],insertRule(e,t=this.cssRules.length){return this.cssRules.splice(t,1,{cssText:e}),t},deleteRule(e){delete this.cssRules[e]}}}function N1(e){const t=e.cssRules&&e.cssRules.length?Object.entries(e==null?void 0:e.cssRules).find(([s,i])=>i.selectorText===cd):void 0;if(!t)return;const n=/--puid:(.*)?-(c|v|p)?/m,[,r,o]=t[1].cssText.match(n);if(r)return{uid:r,type:o}}function D1(e,t,n){var a,c,l;let r;const o=(a=e==null?void 0:e.vnode)==null?void 0:a.el;o&&o.classList?o.classList.forEach(u=>{r||u.startsWith("pc-")&&(r=u.split("pc-")[1])}):r=_a(6);const s=(l=(c=e==null?void 0:e.vnode)==null?void 0:c.type)==null?void 0:l.__scopeId,i={uid:r,componentId:s?`[${s}]`:"",uniqueClassName:`pc-${r}`};return t.value.c=i.uniqueClassName,ee(()=>i)}function H1(e,t={},n){const r=ce(),o=ce(e||{});t=Object.assign({key:"variable"},t||{});const s=x1(o,t);let i={};c();function a(p){var y;for(const v of p.styleSheets)if((y=v==null?void 0:v.ownerNode)!=null&&y.textContent.includes("--pinceau-mq"))return v.ownerNode}function c(){var y;const p=globalThis||window;if(p&&p.document){let v=document.querySelector("#pinceau-theme");v||(v=a(document)),r.value=v==null?void 0:v.sheet,r.value&&l((y=r.value)==null?void 0:y.cssRules)}}function l(p){i={},Object.entries(p||{}).forEach(([y,v])=>{var _,g;if((v==null?void 0:v.type)!==4&&!((_=v==null?void 0:v.cssText)!=null&&_.includes("--pinceau-mq")))return!1;let b="initial";(g=v.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm))==null||g.forEach(P=>{var H;const[S,I]=P.replace(";","").split(/:\s(.*)/s);if(S==="--pinceau-mq"){if(b=I,!i[I]){const R=(H=Object.entries((v==null?void 0:v.cssRules)||{}).find(([T,C])=>C==null?void 0:C.cssText.includes(`--pinceau-mq: ${I}`)))==null?void 0:H[1];R&&(i[I]=R)}return}const k=[...S.substring(2).split("-")];il(o.value,k,h(k,I,S,b))})})}function u(p){var b;const y=Array.from(new Set(["dark","light",...Object.keys((p==null?void 0:p.media)||{}),...Object.keys(((b=o.value)==null?void 0:b.media)||{})])),v=sd(p||{},y,!0);od(v,(_,g,P)=>f(P,_.value))}function f(p,y,v="initial"){var g;if(typeof y=="object"){Object.entries(y).forEach(([P,S])=>f(p,S,P));return}const b=id(p);i!=null&&i[v]||m(v);const _=ad(void 0,y,[],{$tokens:s});il(o.value,p,h(p,_,b,v)),(g=i==null?void 0:i[v])==null||g.style.setProperty(b,_)}function d(p){return ee({get(){return $o(o.value,`${p}.value`)},set(y){f(p,y)}})}function h(p,y,v,b="initial"){const _={value:y,variable:`var(${v})`},g=$o(o.value,p);return g&&!v.startsWith("--media")&&(typeof(g==null?void 0:g.value)=="object"?_.value={...g.value,[b]:y}:_.value={initial:g.value,[b]:y}),_}function m(p){if(i!=null&&i[p])return i==null?void 0:i[p];const y=I1(p,"",o.value,n),v=r.value.insertRule(y,r.value.cssRules.length);return i[p]=r.value.cssRules.item(v).cssRules[0],i[p]}return{$tokens:s,updateToken:f,updateTheme:u,reactiveToken:d,resolveStylesheet:c,theme:o}}function F1(e,t,n,r){var s,i;let o=(i=(s=n.hydratableRules)==null?void 0:s[e.value.uid])==null?void 0:i.c;ye(()=>t,a=>{a=j1(e.value,a),o=n.pushDeclaration(e.value.uid,"c",a,o,{...r,type:"c"})},{immediate:!o,deep:!0}),Qn(()=>o&&n.deleteRule(o))}function j1(e,t){const n={},r=`.${e.uniqueClassName}${e.componentId}`;if(t&&Object.keys(t).length){n[r]=n[r]||{};for(const[o,s]of Object.entries(t)){const i=M(s);if(o==="css"){n[r]=Object.assign(n[r],i);continue}if(typeof i=="object")for(const[a,c]of Object.entries(i)){const l=M(c);if(!l)continue;a==="initial"&&(n[r]||(n[r]={}),n[r]||(n[r]={}),n[r][`--${o}`]=l);const u=`@${a}`;n[u]||(n[u]={}),n[u][r]||(n[u][r]={}),n[u][r][`--${vi(o)}`]=l}else{const a=M(i);a&&(n[r][`--${vi(o)}`]=a)}}}return n}const B1=(e,t,n,r,o,s)=>{var l,u;let i=(u=(l=r.hydratableRules)==null?void 0:l[e.value.uid])==null?void 0:u.v;const a=ee(()=>t?z1(e.value,n,t):{}),c=ce([]);return ye(a,({cacheId:f,variantsProps:d})=>{let h;if(r.cache[f]){const m=r.cache[f];i=m.rule,h=m.variantClass,m!=null&&m.classes&&(c.value=m.classes),m.count++}else{h=`pv-${_a(6)}`;const{declaration:m,classes:p}=V1(h,e.value,t,d);c.value=p,i=r.pushDeclaration(e.value.uid,"v",m,void 0,{...s,type:"v"}),r.cache[f]={rule:i,variantClass:h,classes:p,count:1}}o.value.v=h},{immediate:!0}),Qn(()=>{var h;const f=a==null?void 0:a.value,d=(h=r.cache)==null?void 0:h[f.cacheId];d&&(d.count--,d.count<=0&&(r.deleteRule(d.rule),delete r.cache[f.cacheId]))}),{variantsClasses:c}};function V1(e,t,n,r){var i,a;let o=[];const s={};if(r&&Object.keys(r).length){const c=`.${e}`;for(const[l,u]of Object.entries(r))if(typeof u=="object")for(const[f,d]of Object.entries(u)){const h=(d==null?void 0:d.toString())||d,m=n[l][h];if(!m)continue;if(s[c]||(s[c]={}),typeof m=="string"||Array.isArray(m)||m!=null&&m.$class){const y=typeof m=="string"||Array.isArray(m)?m:m.$class;o=[...o,...typeof y=="string"?y.split(" "):y],delete m.$class}f==="initial"&&(s[c]||(s[c]={}),s[c]=Hn(s[c],m));const p=`@${f}`;s[p]||(s[p]={}),s[p][c]||(s[p][c]={}),s[p][c]=Hn(s[p][c],m)}else{const f=((i=u==null?void 0:u.toString)==null?void 0:i.call(u))||u,d=(a=n==null?void 0:n[l])==null?void 0:a[f];if(!d)continue;s[c]||(s[c]={}),s[c]=Hn(s[c],d)}}return{declaration:s,classes:o}}function z1(e,t,n){if(!t||!n)return{};let r=e.componentId;const o=Object.entries(t).reduce((s,[i,a])=>(n[i]&&(typeof a=="object"?Object.entries(a).forEach(([c,l])=>r+=`${i}:${c}:${l}|`):r+=`${i}:${a}|`,s[i]=a),s),{});return{cacheId:r,variantsProps:o}}function U1(e,t,n,r){var i,a;let o=(a=(i=n.hydratableRules)==null?void 0:i[e.value.uid])==null?void 0:a.p;const s=ee(()=>t==null?void 0:t.css);ye(s,c=>{c=K1(e.value,c),o&&n.deleteRule(o),o=n.pushDeclaration(e.value.uid,"p",c,o,{...r,type:"c"})},{immediate:!o}),Qn(()=>o&&n.deleteRule(o))}function K1(e,t){const n={};if(t){const r=`.${e.uniqueClassName}${e.componentId}`;n[r]=Object.assign(n[r]||{},t)}return n}const W1={theme:{},utils:{},tokensHelperConfig:{},multiApp:!1,colorSchemeMode:"media",dev:!1},q1={install(e,t){t=Object.assign(W1,t);const{theme:n,tokensHelperConfig:r,dev:o,multiApp:s,colorSchemeMode:i,utils:a}=t,c=H1(n,r,i),l=s?_a(6):void 0,u=$1(c.$tokens,a,i,l);function f(d={},h,m){const p=pt();let y;const v=ce({v:"",c:""}),b=D1(p,v);m&&Object.keys(m).length>0&&F1(b,m,u,y);let _;if(h&&Object.keys(h).length>0){const{variantsClasses:g}=B1(b,h,d,u,v,y);_=g}return d!=null&&d.css&&Object.keys(d==null?void 0:d.css).length>0&&U1(b,d,u,y),{$pinceau:ee(()=>{var g;return[v.value.v,v.value.c,(g=_==null?void 0:_.value)==null?void 0:g.join(" ")].join(" ")})}}e.config.globalProperties.$pinceauRuntime=f,e.config.globalProperties.$pinceauTheme=c,e.config.globalProperties.$pinceauSsr={get:()=>u.toString()},e.provide("pinceauRuntime",f),e.provide("pinceauTheme",c)}};function Q1(e,t,n){return De("pinceauRuntime")(e,t,n)}function hx(){return De("pinceauTheme")}function px(e,t=!1){return{type:[String,Object],default:e,required:t}}const J1=e=>({marginTop:e,marginBottom:e}),Z1=e=>({marginLeft:e,marginRight:e}),Y1=e=>({paddingTop:e,paddingBottom:e}),G1=e=>({paddingLeft:e,paddingRight:e}),X1={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},ew=e=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":e}),tw=e=>({fontSize:`{text.${e}.fontSize}`,lineHeight:`{text.${e}.lineHeight}`}),nw=e=>({color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`,borderColor:`{elements.state.${e}.borderColor.primary} !important`,":deep(p code)":{color:`{elements.state.${e}.color.secondary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(code)":{color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(a code)":{borderColor:`{elements.state.${e}.borderColor.primary} !important`},":deep(a)":{borderColor:"currentColor",code:{backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`},"&:hover":{color:`{elements.state.${e}.color.secondary} !important`,borderColor:"currentColor !important",code:{backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`,color:`{elements.state.${e}.color.secondary} !important`,borderColor:`{elements.state.${e}.borderColor.secondary} !important`}}}}),rw={my:J1,mx:Z1,py:Y1,px:G1,truncate:X1,lineClamp:ew,text:tw,stateColors:nw},ow=Be(async e=>e.vueApp.use(q1,{colorSchemeMode:"class",utils:rw})),sw="__NUXT_COLOR_MODE__",iw="ColorScheme",aw="theme",cw="nuxt-color-mode",Pt=window[sw],lw=Be(e=>{const t=Rt("color-mode",()=>tt({preference:Pt.preference,value:Pt.value,unknown:!1,forced:!1})).value;Lr({htmlAttrs:{[`data-${aw}`]:ee(()=>t.value)}}),ct().afterEach(o=>{const s=o.meta.colorMode;s&&s!=="system"?(t.value=s,t.forced=!0):(s==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?Pt.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=Pt.getColorScheme())}))}ye(()=>t.preference,o=>{var s;t.forced||(o==="system"?(t.value=Pt.getColorScheme(),r()):t.value=o,(s=window.localStorage)==null||s.setItem(cw,o))},{immediate:!0}),ye(()=>t.value,(o,s)=>{Pt.removeColorScheme(s),Pt.addColorScheme(o)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=Pt.preference,t.value=Pt.value,t.unknown=!1)}),e.provide("colorMode",t)});function Wn(e,...t){ep(`[vue-recaptcha]: ${e}`,...t)}function ls(e,t){if(!e)throw Wn(t),new Error(`Invariant violation: ${t}`)}const ld="vue-recaptcha-context";function us(){const e=De(ld);if(!e)throw Wn("You may forget to `use` vue-recaptcha plugin"),new Error("useRecaptcha() is called without provider.");return e}function mx(){return us().proxy}function gx(){const e=us();return ls(e.options.v2SiteKey,"Your config is not compatible with recaptcha v2, please provide v2SiteKey"),e.options.v2SiteKey}function yx(){const e=us();return ls(e.options.v3SiteKey,"Your config is not compatible with recaptcha v3, please provide v3SiteKey"),e.options.v3SiteKey}function uw(e){var t;return ls(e.v2SiteKey||e.v3SiteKey,"You didn't pass v2SiteKey or v3SiteKey to plugin, which may be a mistake"),{...e,loaderOptions:{...e.loaderOptions,params:{...(t=e.loaderOptions)==null?void 0:t.params,render:e.v3SiteKey??"explicit"}}}}function fw(){const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}function dw(e){return t=>e(hw(t))}function hw(e){return{...e,recaptchaApiURL:e.recaptchaApiURL??(e.useRecaptchaNet?"https://www.recaptcha.net/recaptcha/api.js":"https://www.google.com/recaptcha/api.js")}}const fs=fw(),ho="__vueRecaptchaLoaded";typeof window<"u"&&(window[ho]=()=>{fs.resolve()});function pw(e){return new URLSearchParams(mw(e)).toString()}function mw(e){const t=Hn(e,{onload:ho,render:"explicit"});return t.render==="onload"&&(Wn("passing `onload` as `render` param is not allowed"),t.render="explicit"),t.onload!==ho&&(Wn("passing `onload` param with other value is not allowed"),t.onload=ho),gw(t)}function gw(e){return Object.entries(e).filter(t=>typeof t[1]=="string")}function ud(){if(typeof window>"u")return!1;const e=Object.hasOwn(window,"grecaptcha")&&Object.hasOwn(window.grecaptcha,"execute");return e&&fs.resolve(),e}function yw(e,t){function n(){ls(e.value,"ReCAPTCHA is not loaded")}async function r(){await fs.promise,e.value=!0}return{async render(o,s){return await r(),t().render(o,s)},reset(o){typeof o>"u"||(n(),t().reset(o))},async execute(o,s){if(!(typeof o>"u"))return await r(),t().execute(o,s)}}}function _w(e,{getRecaptcha:t=()=>window.grecaptcha}={}){return{install(n,r){const o=ce(!1);async function s(){await fs.promise,o.value=!0}s().catch(a=>Wn("fail to load reCAPTCHA script",a)),ud();const i=uw(r);n.provide(ld,{isReady:o,scriptInjected:!1,proxy:yw(o,t),useScriptProvider:e(i.loaderOptions),options:i})}}}const vw=dw(e=>()=>{Lr({link:[{key:"vue-recaptcha-google",rel:"preconnect",href:e.useRecaptchaNet?"https://www.recaptcha.net":"https://www.google.com"},{key:"vue-recaptcha-gstatic",rel:"preconnect",href:"https://www.gstatic.com",crossorigin:""}],script:[{key:"vue-recaptcha",src:`${e.recaptchaApiURL}?${pw(e.params)}`,async:!0,defer:!0,nonce:e.nonce}]})});function fd(e){return Ko()?(Qn(e),!0):!1}function _x(){const e=new Set,t=o=>{e.delete(o)};return{on:o=>{e.add(o);const s=()=>t(o);return fd(s),{off:s}},off:t,trigger:o=>Promise.all(Array.from(e).map(s=>s(o)))}}function xt(e){return typeof e=="function"?e():M(e)}const bw=()=>{};function vx(...e){if(e.length!==1)return Qo(...e);const t=e[0];return typeof t=="function"?qo(Jh(()=>({get:t,set:bw}))):ce(t)}function bx(e,t,n){return ye(e,(r,o,s)=>{r&&t(r,o,s)},n)}function ww(){const e=us();e.scriptInjected?Wn("`useRecaptchaProvider` is used multiple time"):(e.scriptInjected=!0,e.useScriptProvider(),Nt(()=>{ud()}))}const Ew=_w(vw),Cw=Be(({vueApp:e})=>{const{public:{recaptcha:t}}=We();e.use(Ew,t)});const Tw=Be(()=>{}),Pw=Be({name:"nuxt:chunk-reload",setup(e){const t=ct(),n=We(),r=new Set;t.beforeEach(()=>{r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const a="href"in s&&s.href.startsWith("#")?n.app.baseURL+s.href:tn(n.app.baseURL,s.fullPath);k_({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),xw=Be(e=>{let t;const n=We();async function r(){const o=await as();t&&clearTimeout(t),t=setTimeout(r,1e3*60*60);const s=await $fetch(tn(n.app.cdnURL||n.app.baseURL,n.app.buildAssetsDir,"builds/latest.json"));s.id!==o.id&&e.hooks.callHook("app:manifest:update",s)}is(()=>{t=setTimeout(r,1e3*60*60)})}),Aw=Be(e=>{const t=ce(!1),n=()=>t.value=!0,r=()=>t.value=!1,o=()=>t.value=!t.value;return e.$router.afterEach(()=>setTimeout(r,50)),ye(t,s=>{const i=document.documentElement;s?i.style.overflow="hidden":setTimeout(()=>{i.style.overflow=""},100)},{immediate:!0}),{provide:{menu:{visible:t,close:r,open:n,toggle:o}}}}),Sw=Be(()=>{navigator&&navigator.userAgent&&navigator.userAgent.match(/Win[a-z0-9]*;/)&&document.documentElement.classList.add("docus-scrollbars")}),Rw=[Q_,Z_,a0,c0,a1,c1,w1,E1,ow,lw,Cw,Tw,Pw,xw,Aw,Sw],Iw=["p","h1","h2","h3","h4","h5","h6","li"];function Mo(e,t){return e.type===t||typeof e.type=="object"&&e.type.tag===t||e.tag===t}function va(e){return Mo(e,"text")||Mo(e,Symbol.for("v-txt"))}function dd(e){var t;return Array.isArray(e.children)||typeof e.children=="string"?e.children:typeof((t=e.children)==null?void 0:t.default)=="function"?e.children.default():[]}function bi(e){if(!e)return"";if(Array.isArray(e))return e.map(bi).join("");if(va(e))return e.children||e.value||"";const t=dd(e);return Array.isArray(t)?t.map(bi).filter(Boolean).join(""):""}function hd(e,t=[]){if(Array.isArray(e))return e.flatMap(r=>hd(r,t));let n=e;return t.some(r=>r==="*"||Mo(e,r))&&(n=dd(e)||e,!Array.isArray(n)&&Iw.some(r=>Mo(e,r))&&(n=[n])),n}function pd(e,t=[]){return e=Array.isArray(e)?e:[e],t.length?e.flatMap(n=>pd(hd(n,[t[0]]),t.slice(1))).filter(n=>!(va(n)&&bi(n).trim()==="")):e}function kw(e,t=[]){return typeof t=="string"&&(t=t.split(",").map(n=>n.trim()).filter(Boolean)),t.length?pd(e,t).reduce((n,r)=>(va(r)?typeof n[n.length-1]=="string"?n[n.length-1]+=r.children:n.push(r.children):n.push(r),n),[]):e}const Ow=(e,t,n,...r)=>e[t]?Sr({...e,[t]:()=>kw(e[t](),n==null?void 0:n.unwrap)},t,n,...r):Sr(e,t,n,...r),Lw={class:"alert-content"},$w=Ae({__name:"Alert",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(t,n)=>(q(),ue("div",{class:Fe(["alert",[e.type]])},[se("div",Lw,[Ow(t.$slots,"default",{unwrap:"p"},void 0,!0)])],2))}});const Ve=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},md=Ve($w,[["__scopeId","data-v-ed5d92b1"]]),Mw=Object.freeze(Object.defineProperty({__proto__:null,default:md},Symbol.toStringTag,{value:"Module"})),Nw=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),wi=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&Nw(e.route,n));return typeof r=="function"?r(e.route):r},Dw=(e,t)=>({default:()=>e?et(Cp,e===!0?{}:e,t):t}),Hw=Ae({name:"RouteProvider",props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return Nn(rs,Qt(r)),()=>et(e.vnode,{ref:e.vnodeRef})}}),Fw=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?et(e,t,n):(r=n.default)==null?void 0:r.call(n)}}),jw=Ae({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,expose:n}){const r=ge(),o=ce(),s=De(rs,null);n({pageRef:o});const i=De(Gy,null);let a;const c=r.deferHydration();return()=>et(Qf,{name:e.name,route:e.route,...t},{default:l=>{const u=zw(s,l.route,l.Component),f=s&&s.matched.length===l.route.matched.length;if(!l.Component){if(a&&!f)return a;c();return}if(a&&i&&!i.isCurrent(l.route))return a;if(u&&s&&(!i||i!=null&&i.isCurrent(s)))return f?a:null;const d=wi(l,e.pageKey),h=!!(e.transition??l.route.meta.pageTransition??mi),m=h&&Vw([e.transition,l.route.meta.pageTransition,mi,{onAfterLeave:()=>{r.callHook("page:transition:finish",l.Component)}}].filter(Boolean));return a=Fw(sa,h&&m,Dw(e.keepalive??l.route.meta.keepalive??o_,et(wu,{suspensible:!0,onPending:()=>r.callHook("page:start",l.Component),onResolve:()=>{Et(()=>r.callHook("page:finish",l.Component).finally(c))}},{default:()=>et(Hw,{key:d,vnode:l.Component,route:l.route,renderKey:d,trackRootNodes:h,vnodeRef:o})}))).default(),a}})}});function Bw(e){return Array.isArray(e)?e:e?[e]:[]}function Vw(e){const t=e.map(n=>({...n,onAfterLeave:Bw(n.onAfterLeave)}));return Hn(...t)}function zw(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,a,c;return((i=o.components)==null?void 0:i.default)!==((c=(a=e.matched[s])==null?void 0:a.components)==null?void 0:c.default)})||n&&wi({route:t,Component:n})!==wi({route:e,Component:n})}const gd={__name:"AppLoadingBar",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3}},setup(e){const t=e,n=ge(),r=tt({percent:0,show:!1,canSucceed:!0});let o=null,s=null,i;function a(){o&&clearInterval(o),s&&clearTimeout(s),o=null}function c(){r.show||(a(),r.percent=0,r.canSucceed=!0,t.throttle?s=setTimeout(d,t.throttle):d())}function l(h){r.percent=Math.min(100,Math.floor(r.percent+h))}function u(){r.percent=100,f()}function f(){a(),setTimeout(()=>{r.show=!1,setTimeout(()=>{r.percent=0},400)},500)}function d(){r.show=!0,i=1e4/Math.floor(t.duration),o=setInterval(()=>{l(i)},100)}return n.hook("content:middleware:start",c),n.hook("page:start",c),n.hook("page:finish",u),Gn(()=>a),(h,m)=>(q(),ue("div",{class:Fe(["nuxt-progress",{"nuxt-progress-failed":!M(r).canSucceed}]),style:qn({width:`${M(r).percent}%`,left:M(r).left,opacity:M(r).show?1:0,backgroundSize:`${100/M(r).percent*100}% auto`})},null,6))}},Uw=Object.freeze(Object.defineProperty({__proto__:null,default:gd},Symbol.toStringTag,{value:"Module"})),yd=Object.freeze({left:0,top:0,width:16,height:16}),_d=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),ba=Object.freeze({...yd,..._d});Object.freeze({...ba,body:"",hidden:!1});({...yd});const vd=Object.freeze({width:null,height:null}),bd=Object.freeze({...vd,..._d});function Kw(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in vd?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const Ww=/[\s,]+/;function qw(e,t){t.split(Ww).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Qw(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:r(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return t}const Jw=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Zw=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ll(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(Jw);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=Zw.test(s);for(;;){if(i){const a=parseFloat(s);isNaN(a)?o.push(s):o.push(Math.ceil(a*t*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}const Yw=e=>e==="unset"||e==="undefined"||e==="none";function Gw(e,t){const n={...ba,...e},r={...bd,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(m=>{const p=[],y=m.hFlip,v=m.vFlip;let b=m.rotate;y?v?b+=2:(p.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),p.push("scale(-1 1)"),o.top=o.left=0):v&&(p.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),p.push("scale(1 -1)"),o.top=o.left=0);let _;switch(b<0&&(b-=Math.floor(b/4)*4),b=b%4,b){case 1:_=o.height/2+o.top,p.unshift("rotate(90 "+_.toString()+" "+_.toString()+")");break;case 2:p.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:_=o.width/2+o.left,p.unshift("rotate(-90 "+_.toString()+" "+_.toString()+")");break}b%2===1&&(o.left!==o.top&&(_=o.left,o.left=o.top,o.top=_),o.width!==o.height&&(_=o.width,o.width=o.height,o.height=_)),p.length&&(s=''+s+"")});const i=r.width,a=r.height,c=o.width,l=o.height;let u,f;i===null?(f=a===null?"1em":a==="auto"?l:a,u=ll(f,c/l)):(u=i==="auto"?c:i,f=a===null?ll(u,l/c):a==="auto"?l:a);const d={},h=(m,p)=>{Yw(p)||(d[m]=p.toString())};return h("width",u),h("height",f),d.viewBox=o.left.toString()+" "+o.top.toString()+" "+c.toString()+" "+l.toString(),{attributes:d,body:s}}const Xw=/\sid="(\S+)"/g,eE="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let tE=0;function nE(e,t=eE){const n=[];let r;for(;r=Xw.exec(e);)n.push(r[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof t=="function"?t(s):t+(tE++).toString(),a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}function rE(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function oE(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function sE(e){return'url("data:image/svg+xml,'+oE(e)+'")'}const ul={...bd,inline:!1},iE={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},aE={display:"inline-block"},Ei={backgroundColor:"currentColor"},wd={backgroundColor:"transparent"},fl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},dl={webkitMask:Ei,mask:Ei,background:wd};for(const e in dl){const t=dl[e];for(const n in fl)t[e+n]=fl[n]}const po={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";po[e+"-flip"]=t,po[e.slice(0,1)+"-flip"]=t,po[e+"Flip"]=t});function hl(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const cE=(e,t)=>{const n=Kw(ul,t),r={...iE},o=t.mode||"svg",s={},i=t.style,a=typeof i=="object"&&!(i instanceof Array)?i:{};for(let p in t){const y=t[p];if(y!==void 0)switch(p){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[p]=y===!0||y==="true"||y===1;break;case"flip":typeof y=="string"&&qw(n,y);break;case"color":s.color=y;break;case"rotate":typeof y=="string"?n[p]=Qw(y):typeof y=="number"&&(n[p]=y);break;case"ariaHidden":case"aria-hidden":y!==!0&&y!=="true"&&delete r["aria-hidden"];break;default:{const v=po[p];v?(y===!0||y==="true"||y===1)&&(n[v]=!0):ul[p]===void 0&&(r[p]=y)}}}const c=Gw(e,n),l=c.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...a},Object.assign(r,l);let p=0,y=t.id;return typeof y=="string"&&(y=y.replace(/-/g,"_")),r.innerHTML=nE(c.body,y?()=>y+"ID"+p++:"iconifyVue"),et("svg",r)}const{body:u,width:f,height:d}=e,h=o==="mask"||(o==="bg"?!1:u.indexOf("currentColor")!==-1),m=rE(u,{...l,width:f+"",height:d+""});return r.style={...s,"--svg":sE(m),width:hl(l.width),height:hl(l.height),...aE,...h?Ei:wd,...a},et("span",r)},lE=Object.create(null),uE=Ae({inheritAttrs:!1,render(){const e=this.$attrs,t=e.icon,n=typeof t=="string"?lE[t]:typeof t=="object"?t:null;return n===null||typeof n!="object"||typeof n.body!="string"?this.$slots.default?this.$slots.default():null:cE({...ba,...n},e)}}),wr=/^[a-z0-9]+(-[a-z0-9]+)*$/,ds=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const a=o.pop(),c=o.pop(),l={provider:o.length>0?o[0]:r,prefix:c,name:a};return t&&!mo(l)?null:l}const s=o[0],i=s.split("-");if(i.length>1){const a={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!mo(a)?null:a}if(n&&r===""){const a={provider:r,prefix:"",name:s};return t&&!mo(a,n)?null:a}return null},mo=(e,t)=>e?!!((e.provider===""||e.provider.match(wr))&&(t&&e.prefix===""||e.prefix.match(wr))&&e.name.match(wr)):!1,Ed=Object.freeze({left:0,top:0,width:16,height:16}),No=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),wa=Object.freeze({...Ed,...No}),Ci=Object.freeze({...wa,body:"",hidden:!1});function fE(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function pl(e,t){const n=fE(e,t);for(const r in Ci)r in No?r in e&&!(r in n)&&(n[r]=No[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function dE(e,t){const n=e.icons,r=e.aliases||Object.create(null),o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const a=r[i]&&r[i].parent,c=a&&s(a);c&&(o[i]=[a].concat(c))}return o[i]}return(t||Object.keys(n).concat(Object.keys(r))).forEach(s),o}function hE(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let s={};function i(a){s=pl(r[a]||o[a],s)}return i(t),n.forEach(i),pl(e,s)}function Cd(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const r=dE(e);for(const o in r){const s=r[o];s&&(t(o,hE(e,o,s)),n.push(o))}return n}const pE={provider:"",aliases:{},not_found:{},...Ed};function $s(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Td(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!$s(e,pE))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(wr)||typeof s.body!="string"||!$s(s,Ci))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(wr)||typeof i!="string"||!n[i]&&!r[i]||!$s(s,Ci))return null}return t}const ml=Object.create(null);function mE(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function bn(e,t){const n=ml[e]||(ml[e]=Object.create(null));return n[t]||(n[t]=mE(e,t))}function Ea(e,t){return Td(t)?Cd(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function gE(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let Mr=!1;function Pd(e){return typeof e=="boolean"&&(Mr=e),Mr}function yE(e){const t=typeof e=="string"?ds(e,!0,Mr):e;if(t){const n=bn(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function _E(e,t){const n=ds(e,!0,Mr);if(!n)return!1;const r=bn(n.provider,n.prefix);return gE(r,n.name,t)}function vE(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),Mr&&!t&&!e.prefix){let o=!1;return Td(e)&&(e.prefix="",Cd(e,(s,i)=>{i&&_E(s,i)&&(o=!0)})),o}const n=e.prefix;if(!mo({provider:t,prefix:n,name:"a"}))return!1;const r=bn(t,n);return!!Ea(r,e)}const bE=Object.freeze({width:null,height:null}),wE=Object.freeze({...bE,...No});""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);const Ti=Object.create(null);function EE(e,t){Ti[e]=t}function Pi(e){return Ti[e]||Ti[""]}function Ca(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}}const Ta=Object.create(null),sr=["https://api.simplesvg.com","https://api.unisvg.com"],go=[];for(;sr.length>0;)sr.length===1||Math.random()>.5?go.push(sr.shift()):go.push(sr.pop());Ta[""]=Ca({resources:["https://api.iconify.design"].concat(go)});function CE(e,t){const n=Ca(t);return n===null?!1:(Ta[e]=n,!0)}function Pa(e){return Ta[e]}const TE=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let gl=TE();function PE(e,t){const n=Pa(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=t+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function xE(e){return e===404}const AE=(e,t,n)=>{const r=[],o=PE(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},a=0;return n.forEach((c,l)=>{a+=c.length+1,a>=o&&l>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},a=c.length),i.icons.push(c)}),r.push(i),r};function SE(e){if(typeof e=="string"){const t=Pa(e);if(t)return t.path}return"/"}const RE=(e,t,n)=>{if(!gl){n("abort",424);return}let r=SE(t.provider);switch(t.type){case"icons":{const s=t.prefix,a=t.icons.join(","),c=new URLSearchParams({icons:a});r+=s+".json?"+c.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;gl(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(xE(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})},IE={prepare:AE,send:RE};function kE(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,a=o.name,c=n[s]||(n[s]=Object.create(null)),l=c[i]||(c[i]=bn(s,i));let u;a in l.icons?u=t.loaded:i===""||l.missing.has(a)?u=t.missing:u=t.pending;const f={provider:s,prefix:i,name:a};u.push(f)}),t}function xd(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function OE(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(s=>{const i=s.icons,a=i.pending.length;i.pending=i.pending.filter(c=>{if(c.prefix!==o)return!0;const l=c.name;if(e.icons[l])i.loaded.push({provider:r,prefix:o,name:l});else if(e.missing.has(l))i.missing.push({provider:r,prefix:o,name:l});else return n=!0,!0;return!1}),i.pending.length!==a&&(n||xd([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let LE=0;function $E(e,t,n){const r=LE++,o=xd.bind(null,n,r);if(!t.pending.length)return o;const s={id:r,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function ME(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?ds(o,t,n):o;s&&r.push(s)}),r}var NE={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function DE(e,t,n,r){const o=e.resources.length,s=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let S=e.resources.slice(0);for(i=[];S.length>1;){const I=Math.floor(Math.random()*S.length);i.push(S[I]),S=S.slice(0,I).concat(S.slice(I+1))}i=i.concat(S)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const a=Date.now();let c="pending",l=0,u,f=null,d=[],h=[];typeof r=="function"&&h.push(r);function m(){f&&(clearTimeout(f),f=null)}function p(){c==="pending"&&(c="aborted"),m(),d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function y(S,I){I&&(h=[]),typeof S=="function"&&h.push(S)}function v(){return{startTime:a,payload:t,status:c,queriesSent:l,queriesPending:d.length,subscribe:y,abort:p}}function b(){c="failed",h.forEach(S=>{S(void 0,u)})}function _(){d.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),d=[]}function g(S,I,k){const H=I!=="success";switch(d=d.filter(R=>R!==S),c){case"pending":break;case"failed":if(H||!e.dataAfterTimeout)return;break;default:return}if(I==="abort"){u=k,b();return}if(H){u=k,d.length||(i.length?P():b());return}if(m(),_(),!e.random){const R=e.resources.indexOf(S.resource);R!==-1&&R!==e.index&&(e.index=R)}c="completed",h.forEach(R=>{R(k)})}function P(){if(c!=="pending")return;m();const S=i.shift();if(S===void 0){if(d.length){f=setTimeout(()=>{m(),c==="pending"&&(_(),b())},e.timeout);return}b();return}const I={status:"pending",resource:S,callback:(k,H)=>{g(I,k,H)}};d.push(I),l++,f=setTimeout(P,e.rotate),n(S,t,I.callback)}return setTimeout(P),v}function Ad(e){const t={...NE,...e};let n=[];function r(){n=n.filter(a=>a().status==="pending")}function o(a,c,l){const u=DE(t,a,c,(f,d)=>{r(),l&&l(f,d)});return n.push(u),u}function s(a){return n.find(c=>a(c))||null}return{query:o,find:s,setIndex:a=>{t.index=a},getIndex:()=>t.index,cleanup:r}}function yl(){}const Ms=Object.create(null);function HE(e){if(!Ms[e]){const t=Pa(e);if(!t)return;const n=Ad(t),r={config:t,redundancy:n};Ms[e]=r}return Ms[e]}function FE(e,t,n){let r,o;if(typeof e=="string"){const s=Pi(e);if(!s)return n(void 0,424),yl;o=s.send;const i=HE(e);i&&(r=i.redundancy)}else{const s=Ca(e);if(s){r=Ad(s);const i=e.resources?e.resources[0]:"",a=Pi(i);a&&(o=a.send)}}return!r||!o?(n(void 0,424),yl):r.query(t,o,n)().abort}const _l="iconify2",Nr="iconify",Sd=Nr+"-count",vl=Nr+"-version",Rd=36e5,jE=168;function xi(e,t){try{return e.getItem(t)}catch{}}function xa(e,t,n){try{return e.setItem(t,n),!0}catch{}}function bl(e,t){try{e.removeItem(t)}catch{}}function Ai(e,t){return xa(e,Sd,t.toString())}function Si(e){return parseInt(xi(e,Sd))||0}const hs={local:!0,session:!0},Id={local:new Set,session:new Set};let Aa=!1;function BE(e){Aa=e}let ro=typeof window>"u"?{}:window;function kd(e){const t=e+"Storage";try{if(ro&&ro[t]&&typeof ro[t].length=="number")return ro[t]}catch{}hs[e]=!1}function Od(e,t){const n=kd(e);if(!n)return;const r=xi(n,vl);if(r!==_l){if(r){const a=Si(n);for(let c=0;c{const c=Nr+a.toString(),l=xi(n,c);if(typeof l=="string"){try{const u=JSON.parse(l);if(typeof u=="object"&&typeof u.cached=="number"&&u.cached>o&&typeof u.provider=="string"&&typeof u.data=="object"&&typeof u.data.prefix=="string"&&t(u,a))return!0}catch{}bl(n,c)}};let i=Si(n);for(let a=i-1;a>=0;a--)s(a)||(a===i-1?(i--,Ai(n,i)):Id[e].add(a))}function Ld(){if(!Aa){BE(!0);for(const e in hs)Od(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=bn(r,o);if(!Ea(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function VE(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in hs)Od(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function zE(e,t){Aa||Ld();function n(r){let o;if(!hs[r]||!(o=kd(r)))return;const s=Id[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=Si(o),!Ai(o,i+1))return;const a={cached:Math.floor(Date.now()/Rd),provider:e.provider,data:t};return xa(o,Nr+i.toString(),JSON.stringify(a))}t.lastModified&&!VE(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function wl(){}function UE(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,OE(e)}))}function KE(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;delete e.iconsToLoad;let s;if(!o||!(s=Pi(n)))return;s.prepare(n,r,o).forEach(a=>{FE(n,a,c=>{if(typeof c!="object")a.icons.forEach(l=>{e.missing.add(l)});else try{const l=Ea(e,c);if(!l.length)return;const u=e.pendingIcons;u&&l.forEach(f=>{u.delete(f)}),zE(e,c)}catch(l){console.error(l)}UE(e)})})}))}const WE=(e,t)=>{const n=ME(e,!0,Pd()),r=kE(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,wl)}),()=>{c=!1}}const o=Object.create(null),s=[];let i,a;return r.pending.forEach(c=>{const{provider:l,prefix:u}=c;if(u===a&&l===i)return;i=l,a=u,s.push(bn(l,u));const f=o[l]||(o[l]=Object.create(null));f[u]||(f[u]=[])}),r.pending.forEach(c=>{const{provider:l,prefix:u,name:f}=c,d=bn(l,u),h=d.pendingIcons||(d.pendingIcons=new Set);h.has(f)||(h.add(f),o[l][u].push(f))}),s.forEach(c=>{const{provider:l,prefix:u}=c;o[l][u].length&&KE(c,o[l][u])}),t?$E(t,r,s):wl},qE=e=>new Promise((t,n)=>{const r=typeof e=="string"?ds(e,!0):e;if(!r){n(e);return}WE([r||e],o=>{if(o.length&&r){const s=yE(r);if(s){t({...wa,...s});return}}n(e)})});({...wE});const El={backgroundColor:"currentColor"},QE={backgroundColor:"transparent"},Cl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Tl={webkitMask:El,mask:El,background:QE};for(const e in Tl){const t=Tl[e];for(const n in Cl)t[e+n]=Cl[n]}const Ns={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";Ns[e+"-flip"]=t,Ns[e.slice(0,1)+"-flip"]=t,Ns[e+"Flip"]=t});Pd(!0);EE("",IE);if(typeof document<"u"&&typeof window<"u"){Ld();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!vE(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;CE(n,o)||console.error(r)}catch{console.error(r)}}}}({...wa});const JE=["width","height"],ZE=Ae({__name:"Icon",props:{name:{type:String,required:!0},size:{type:String,default:""}},async setup(e){var m;let t,n;const r=ge(),o=ua();(m=o==null?void 0:o.nuxtIcon)!=null&&m.aliases;const s=e,i=Rt("icons",()=>({})),a=ce(!1),c=ee(()=>{var p;return(((p=o.nuxtIcon)==null?void 0:p.aliases)||{})[s.name]||s.name}),l=ee(()=>{var p;return(p=i.value)==null?void 0:p[c.value]}),u=ee(()=>r.vueApp.component(c.value)),f=ee(()=>{var y,v,b;if(!s.size&&typeof((y=o.nuxtIcon)==null?void 0:y.size)=="boolean"&&!((v=o.nuxtIcon)!=null&&v.size))return;const p=s.size||((b=o.nuxtIcon)==null?void 0:b.size)||"1em";return String(Number(p))===p?`${p}px`:p}),d=ee(()=>{var p;return((p=o==null?void 0:o.nuxtIcon)==null?void 0:p.class)??"icon"});async function h(){var p;u.value||(p=i.value)!=null&&p[c.value]||(a.value=!0,i.value[c.value]=await qE(c.value).catch(()=>{}),a.value=!1)}return ye(()=>c.value,h),!u.value&&([t,n]=Du(()=>h()),t=await t,n()),(p,y)=>M(a)?(q(),ue("span",{key:0,class:Fe(M(d)),width:M(f),height:M(f)},null,10,JE)):M(l)?(q(),de(M(uE),{key:1,icon:M(l),class:Fe(M(d)),width:M(f),height:M(f)},null,8,["icon","class","width","height"])):M(u)?(q(),de(es(M(u)),{key:2,class:Fe(M(d)),width:M(f),height:M(f)},null,8,["class","width","height"])):(q(),ue("span",{key:3,class:Fe(M(d)),style:qn({fontSize:M(f),lineHeight:M(f),width:M(f),height:M(f)})},Ot(e.name),7))}});const Dt=Ve(ZE,[["__scopeId","data-v-92518cc2"]]),YE=Object.freeze(Object.defineProperty({__proto__:null,default:Dt},Symbol.toStringTag,{value:"Module"})),nn=()=>{const e=ee(()=>{var l;return((l=ua())==null?void 0:l.docus)||{}}),{navPageFromPath:t,navDirFromPath:n,navKeyFromPath:r}=pa(),{navigation:o,page:s}=Vr(),i=at(),a=ee(()=>{var m,p,y,v,b,_,g,P,S,I,k;const l=((m=e==null?void 0:e.value)==null?void 0:m.titleTemplate)||r((p=s==null?void 0:s.value)==null?void 0:p._path,"titleTemplate",o.value||[])||`%s · ${((y=e==null?void 0:e.value)==null?void 0:y.title)||"Docus"}`,u=((v=e==null?void 0:e.value)==null?void 0:v.main)||{},f=((b=e==null?void 0:e.value)==null?void 0:b.header)||{},d=((_=e==null?void 0:e.value)==null?void 0:_.aside)||{},h=((g=e==null?void 0:e.value)==null?void 0:g.footer)||{};return{...e.value,titleTemplate:l,main:{...u,...r(i.path,"main",o.value||[]),...(P=s.value)==null?void 0:P.main},header:{...f,...r(i.path,"header",o.value||[]),...(S=s.value)==null?void 0:S.header},aside:{...d,...r(i.path,"aside",o.value||[]),...(I=s.value)==null?void 0:I.aside},footer:{...h,...r(i.path,"footer",o.value||[]),...(k=s.value)==null?void 0:k.footer}}});return{tree:ee(()=>{var h,m,p,y,v;let l=o.value||[];const u=i.path,f=((m=(h=a==null?void 0:a.value)==null?void 0:h.aside)==null?void 0:m.level)||0,d=((y=(p=a==null?void 0:a.value)==null?void 0:p.aside)==null?void 0:y.exclude)||[];if(f){const _=u.split("/").splice(0,1+f).join("/");l=n(_,l)||[],Array.isArray(l)||(l=[l])}if(l.length===0){if(l=t(((v=s.value)==null?void 0:v._path)||"/",o.value||[]),!l)return[];Array.isArray(l)||(l=[l])}return l.filter(b=>!d.includes(b._path))}),config:a}},GE=Ae({__name:"AppSocialIcons",setup(e){const t=["twitter","facebook","instagram","tiktok","youtube","github","medium"],{config:n}=nn(),r=ee(()=>Object.entries(n.value.socials||{}).map(([o,s])=>typeof s=="object"?s:typeof s=="string"&&s&&t.includes(o)?{href:/^https?:\/\//.test(s)?s:`https://${o}.com/${s}`,icon:`fa-brands:${o}`,label:s,rel:"noopener noreferrer"}:null).filter(Boolean));return(o,s)=>{const i=Dt,a=Br;return q(!0),ue(Pe,null,Fn(M(r),c=>(q(),de(a,{key:c.label,rel:c.rel,title:c.label,"aria-label":c.label,href:c.href,target:"_blank"},{default:Ze(()=>[c.icon?(q(),de(i,{key:0,name:c.icon},null,8,["name"])):je("",!0)]),_:2},1032,["rel","title","aria-label","href"]))),128)}}});const ps=Ve(GE,[["__scopeId","data-v-14409a5c"]]),XE=Object.freeze(Object.defineProperty({__proto__:null,default:ps},Symbol.toStringTag,{value:"Module"})),eC={class:"docs-aside-tree"},tC=["onClick"],nC={class:"content"},rC={class:"content"},oC=Ae({__name:"DocsAsideTree",props:{links:{type:Array,default:()=>[]},level:{type:Number,default:0},max:{type:Number,default:null},parent:{type:Object,default:null}},setup(e){var l;const t=e,n=at(),{config:r}=nn(),o=Rt(`docus-docs-aside-collapse-map-${((l=t.parent)==null?void 0:l._path)||"/"}`,()=>t.level===0?{}:t.links.filter(u=>!!u.children).reduce((u,f)=>(u[f._path]=!0,u),{})),s=u=>n.path===u._path,i=u=>{var f,d,h,m;if(u.children){if(typeof o.value[u._path]<"u")return o.value[u._path];if([!0,!1].includes((f=u==null?void 0:u.aside)==null?void 0:f.collapsed))return u.aside.collapsed;if(u!=null&&u.collapsed)return u==null?void 0:u.collapsed;if((h=(d=r==null?void 0:r.value)==null?void 0:d.aside)!=null&&h.collapsed)return(m=r.value.aside)==null?void 0:m.collapsed}return!1},a=u=>o.value[u._path]=!i(u),c=ee(()=>t.links.some(u=>u.children));return(u,f)=>{const d=Dt,h=Br,m=Sa;return q(),ue("ul",eC,[(q(!0),ue(Pe,null,Fn(e.links,p=>{var y,v,b,_,g;return q(),ue("li",{key:p._path,class:Fe({"has-parent-icon":(y=e.parent)==null?void 0:y.icon,"has-children":e.level>0&&p.children,bordered:e.level>0||!M(c),active:s(p)})},[p.children?(q(),ue("button",{key:0,class:"title-collapsible-button",onClick:P=>a(p)},[se("span",nC,[(v=p==null?void 0:p.navigation)!=null&&v.icon||p.icon?(q(),de(d,{key:0,name:((b=p==null?void 0:p.navigation)==null?void 0:b.icon)||p.icon,class:"icon"},null,8,["name"])):je("",!0),se("span",null,Ot(((_=p==null?void 0:p.navigation)==null?void 0:_.title)||p.title||p._path),1)]),se("span",null,[oe(d,{name:i(p)?"lucide:chevrons-up-down":"lucide:chevrons-down-up",class:"collapsible-icon"},null,8,["name"])])],8,tC)):(q(),de(h,{key:1,to:p.redirect?p.redirect:p._path,class:Fe(["link",{padded:e.level>0||!M(c),active:s(p)}]),exact:p.exact},{default:Ze(()=>{var P,S,I;return[se("span",rC,[(P=p==null?void 0:p.navigation)!=null&&P.icon||p.icon?(q(),de(d,{key:0,name:((S=p==null?void 0:p.navigation)==null?void 0:S.icon)||p.icon,class:"icon"},null,8,["name"])):je("",!0),se("span",null,Ot(((I=p==null?void 0:p.navigation)==null?void 0:I.title)||p.title||p._path),1)])]}),_:2},1032,["to","exact","class"])),(g=p.children)!=null&&g.length&&(e.max===null||e.level+1{const{$menu:e}=ge();return e},iC={class:"wrapper"},aC={class:"icons"},cC=Ae({__name:"AppHeaderDialog",setup(e){const{navigation:t}=Vr(),{config:n}=nn(),r=ce(!1),o=ee(()=>{var c;return((c=n.value.aside)==null?void 0:c.exclude)||[]}),s=ee(()=>(t.value||[]).filter(c=>!o.value.includes(c._path))),{close:i,open:a}=$d();return ye(r,c=>c?a():i()),(c,l)=>{const u=Dt,f=ps,d=Sa;return q(),ue(Pe,null,[se("button",{"aria-label":"Menu",onClick:l[0]||(l[0]=h=>r.value=!0)},[oe(u,{name:"heroicons-outline:menu","aria-hidden":"”true”"})]),(q(),de(Qu,{to:"body"},[M(r)?(q(),ue("nav",{key:0,class:"dialog",onClick:l[3]||(l[3]=h=>r.value=!1)},[se("div",{onClick:l[2]||(l[2]=ur(()=>{},["stop"]))},[se("div",iC,[se("button",{"aria-label":"Menu",onClick:l[1]||(l[1]=h=>r.value=!1)},[oe(u,{name:"heroicons-outline:x","aria-hidden":"”true”"})]),se("div",aC,[oe(f)])]),oe(d,{links:M(s)},null,8,["links"])])])):je("",!0)]))],64)}}});const Md=Ve(cC,[["__scopeId","data-v-701eabae"]]),lC=Object.freeze(Object.defineProperty({__proto__:null,default:Md},Symbol.toStringTag,{value:"Module"}));const uC={},fC={viewBox:"0 0 167 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},dC=Gp('',7),hC=[dC];function pC(e,t){return q(),ue("svg",fC,hC)}const Nd=Ve(uC,[["render",pC],["__scopeId","data-v-37ee13f0"]]),mC=Object.freeze(Object.defineProperty({__proto__:null,default:Nd},Symbol.toStringTag,{value:"Module"})),gC={key:0,class:"logo"},yC=["src"],_C=["src"],vC={key:1,class:"title"},bC=Ae({__name:"AppHeaderLogo",setup(e){const{config:t}=nn(),n=ee(()=>{var o;return((o=t.value.header)==null?void 0:o.logo)||!1}),r=ee(()=>{var o;return((o=t.value.header)==null?void 0:o.title)||t.value.title});return(o,s)=>{const i=Nd,a=Br;return q(),de(a,{class:"navbar-logo",to:"/","aria-label":M(r)},{default:Ze(()=>[M(n)?(q(),ue("span",gC,[typeof M(n)=="string"?(q(),de(es(M(n)),{key:0})):M(n).light&&M(n).dark?(q(),ue(Pe,{key:1},[se("img",{src:M(n).light,alt:"",class:"light-img"},null,8,yC),se("img",{src:M(n).dark,alt:"",class:"dark-img"},null,8,_C)],64)):M(n)?(q(),de(i,{key:2})):je("",!0)])):(q(),ue("span",vC,Ot(M(r)),1))]),_:1},8,["aria-label"])}}});const Dd=Ve(bC,[["__scopeId","data-v-93f413e9"]]),wC=Object.freeze(Object.defineProperty({__proto__:null,default:Dd},Symbol.toStringTag,{value:"Module"})),EC={key:0},CC=Ae({__name:"AppHeaderNavigation",setup(e){const t=at(),{navBottomLink:n}=pa(),{navigation:r}=Vr(),{config:o}=nn(),s=ee(()=>{var l;return!!((l=o.value.aside)!=null&&l.level)}),i=ee(()=>{var l;return((l=o.value.header)==null?void 0:l.exclude)||[]}),a=ee(()=>(r.value||[]).filter(l=>!i.value.includes(l._path))),c=l=>l.exact?t.fullPath===l._path:t.fullPath.startsWith(l._path);return(l,u)=>{const f=Dt,d=Br;return M(s)?(q(),ue("nav",EC,[se("ul",null,[(q(!0),ue(Pe,null,Fn(M(a),h=>(q(),ue("li",{key:h._path},[oe(d,{class:Fe(["link",{active:c(h)}]),to:h.redirect?h.redirect:M(n)(h)},{default:Ze(()=>{var m,p;return[h.icon&&((p=(m=M(o))==null?void 0:m.header)!=null&&p.showLinkIcon)?(q(),de(f,{key:0,name:h.icon},null,8,["name"])):je("",!0),Xn(" "+Ot(h.title),1)]}),_:2},1032,["to","class"])]))),128))])])):je("",!0)}}});const Hd=Ve(CC,[["__scopeId","data-v-132dbb47"]]),TC=Object.freeze(Object.defineProperty({__proto__:null,default:Hd},Symbol.toStringTag,{value:"Module"})),Fd=()=>{const{$docSearch:e}=ge();return e||{hasDocSearch:ce(!1)}},jd=e=>(_u("data-v-a87a80ab"),e=e(),vu(),e),PC={class:"content"},xC=jd(()=>se("span",null,"Search",-1)),AC=jd(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),SC=Ae({__name:"AppDocSearch",setup(e){const{element:t}=Fd(),n=()=>t.value.querySelector("button").click();return(r,o)=>{const s=Dt;return q(),ue("button",{type:"button","aria-label":"Search",onClick:n},[se("span",PC,[oe(s,{name:"heroicons-outline:search"}),xC,AC])])}}});const Bd=Ve(SC,[["__scopeId","data-v-a87a80ab"]]),RC=Object.freeze(Object.defineProperty({__proto__:null,default:Bd},Symbol.toStringTag,{value:"Module"}));function $t(e){return Array.isArray?Array.isArray(e):Ud(e)==="[object Array]"}const IC=1/0;function kC(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-IC?"-0":t}function OC(e){return e==null?"":kC(e)}function bt(e){return typeof e=="string"}function Vd(e){return typeof e=="number"}function LC(e){return e===!0||e===!1||$C(e)&&Ud(e)=="[object Boolean]"}function zd(e){return typeof e=="object"}function $C(e){return zd(e)&&e!==null}function Xe(e){return e!=null}function Ds(e){return!e.trim().length}function Ud(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const MC="Incorrect 'index' type",NC=e=>`Invalid value for key ${e}`,DC=e=>`Pattern length exceeds max of ${e}.`,HC=e=>`Missing ${e} property in key`,FC=e=>`Property 'weight' in key '${e}' must be a positive integer`,Pl=Object.prototype.hasOwnProperty;class jC{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(r=>{let o=Kd(r);n+=o.weight,this._keys.push(o),this._keyMap[o.id]=o,n+=o.weight}),this._keys.forEach(r=>{r.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Kd(e){let t=null,n=null,r=null,o=1,s=null;if(bt(e)||$t(e))r=e,t=xl(e),n=Ri(e);else{if(!Pl.call(e,"name"))throw new Error(HC("name"));const i=e.name;if(r=i,Pl.call(e,"weight")&&(o=e.weight,o<=0))throw new Error(FC(i));t=xl(i),n=Ri(i),s=e.getFn}return{path:t,id:n,weight:o,src:r,getFn:s}}function xl(e){return $t(e)?e:e.split(".")}function Ri(e){return $t(e)?e.join("."):e}function BC(e,t){let n=[],r=!1;const o=(s,i,a)=>{if(Xe(s))if(!i[a])n.push(s);else{let c=i[a];const l=s[c];if(!Xe(l))return;if(a===i.length-1&&(bt(l)||Vd(l)||LC(l)))n.push(OC(l));else if($t(l)){r=!0;for(let u=0,f=l.length;ue.score===t.score?e.idx{this._keysMap[n.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,bt(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();bt(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,r=this.size();n{let i=o.getFn?o.getFn(t):this.getFn(t,o.path);if(Xe(i)){if($t(i)){let a=[];const c=[{nestedArrIndex:-1,value:i}];for(;c.length;){const{nestedArrIndex:l,value:u}=c.pop();if(Xe(u))if(bt(u)&&!Ds(u)){let f={v:u,i:l,n:this.norm.get(u)};a.push(f)}else $t(u)&&u.forEach((f,d)=>{c.push({nestedArrIndex:d,value:f})})}r.$[s]=a}else if(bt(i)&&!Ds(i)){let a={v:i,n:this.norm.get(i)};r.$[s]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function Wd(e,t,{getFn:n=ae.getFn,fieldNormWeight:r=ae.fieldNormWeight}={}){const o=new Ra({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(Kd)),o.setSources(t),o.create(),o}function QC(e,{getFn:t=ae.getFn,fieldNormWeight:n=ae.fieldNormWeight}={}){const{keys:r,records:o}=e,s=new Ra({getFn:t,fieldNormWeight:n});return s.setKeys(r),s.setIndexRecords(o),s}function oo(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=ae.distance,ignoreLocation:s=ae.ignoreLocation}={}){const i=t/e.length;if(s)return i;const a=Math.abs(r-n);return o?i+a/o:a?1:i}function JC(e=[],t=ae.minMatchCharLength){let n=[],r=-1,o=-1,s=0;for(let i=e.length;s=t&&n.push([r,o]),r=-1)}return e[s-1]&&s-r>=t&&n.push([r,s-1]),n}const dn=32;function ZC(e,t,n,{location:r=ae.location,distance:o=ae.distance,threshold:s=ae.threshold,findAllMatches:i=ae.findAllMatches,minMatchCharLength:a=ae.minMatchCharLength,includeMatches:c=ae.includeMatches,ignoreLocation:l=ae.ignoreLocation}={}){if(t.length>dn)throw new Error(DC(dn));const u=t.length,f=e.length,d=Math.max(0,Math.min(r,f));let h=s,m=d;const p=a>1||c,y=p?Array(f):[];let v;for(;(v=e.indexOf(t,m))>-1;){let I=oo(t,{currentLocation:v,expectedLocation:d,distance:o,ignoreLocation:l});if(h=Math.min(I,h),m=v+u,p){let k=0;for(;k=R;V-=1){let J=V-1,B=n[e.charAt(J)];if(p&&(y[J]=+!!B),C[V]=(C[V+1]<<1|1)&B,I&&(C[V]|=(b[V+1]|b[V])<<1|1|b[V+1]),C[V]&P&&(_=oo(t,{errors:I,currentLocation:J,expectedLocation:d,distance:o,ignoreLocation:l}),_<=h)){if(h=_,m=J,m<=d)break;R=Math.max(1,2*d-m)}}if(oo(t,{errors:I+1,currentLocation:d,expectedLocation:d,distance:o,ignoreLocation:l})>h)break;b=C}const S={isMatch:m>=0,score:Math.max(.001,_)};if(p){const I=JC(y,a);I.length?c&&(S.indices=I):S.isMatch=!1}return S}function YC(e){let t={};for(let n=0,r=e.length;n{this.chunks.push({pattern:d,alphabet:YC(d),startIndex:h})},f=this.pattern.length;if(f>dn){let d=0;const h=f%dn,m=f-h;for(;d{const{isMatch:v,score:b,indices:_}=ZC(t,m,p,{location:o+y,distance:s,threshold:i,findAllMatches:a,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});v&&(d=!0),f+=b,v&&_&&(u=[...u,..._])});let h={isMatch:d,score:d?f/this.chunks.length:1};return d&&r&&(h.indices=u),h}}class rn{constructor(t){this.pattern=t}static isMultiMatch(t){return Al(t,this.multiRegex)}static isSingleMatch(t){return Al(t,this.singleRegex)}search(){}}function Al(e,t){const n=e.match(t);return n?n[1]:null}class GC extends rn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class XC extends rn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const r=t.indexOf(this.pattern)===-1;return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}}class eT extends rn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class tT extends rn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class nT extends rn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class rT extends rn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class Qd extends rn{constructor(t,{location:n=ae.location,threshold:r=ae.threshold,distance:o=ae.distance,includeMatches:s=ae.includeMatches,findAllMatches:i=ae.findAllMatches,minMatchCharLength:a=ae.minMatchCharLength,isCaseSensitive:c=ae.isCaseSensitive,ignoreLocation:l=ae.ignoreLocation}={}){super(t),this._bitapSearch=new qd(t,{location:n,threshold:r,distance:o,includeMatches:s,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:c,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Jd extends rn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,r;const o=[],s=this.pattern.length;for(;(r=t.indexOf(this.pattern,n))>-1;)n=r+s,o.push([r,n-1]);const i=!!o.length;return{isMatch:i,score:i?0:1,indices:o}}}const Ii=[GC,Jd,eT,tT,rT,nT,XC,Qd],Sl=Ii.length,oT=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,sT="|";function iT(e,t={}){return e.split(sT).map(n=>{let r=n.trim().split(oT).filter(s=>s&&!!s.trim()),o=[];for(let s=0,i=r.length;s!!(e[Do.AND]||e[Do.OR]),uT=e=>!!e[Li.PATH],fT=e=>!$t(e)&&zd(e)&&!$i(e),Rl=e=>({[Do.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Zd(e,t,{auto:n=!0}={}){const r=o=>{let s=Object.keys(o);const i=uT(o);if(!i&&s.length>1&&!$i(o))return r(Rl(o));if(fT(o)){const c=i?o[Li.PATH]:s[0],l=i?o[Li.PATTERN]:o[c];if(!bt(l))throw new Error(NC(c));const u={keyId:Ri(c),pattern:l};return n&&(u.searcher=Oi(l,t)),u}let a={children:[],operator:s[0]};return s.forEach(c=>{const l=o[c];$t(l)&&l.forEach(u=>{a.children.push(r(u))})}),a};return $i(e)||(e=Rl(e)),r(e)}function dT(e,{ignoreFieldNorm:t=ae.ignoreFieldNorm}){e.forEach(n=>{let r=1;n.matches.forEach(({key:o,norm:s,score:i})=>{const a=o?o.weight:null;r*=Math.pow(i===0&&a?Number.EPSILON:i,(a||1)*(t?1:s))}),n.score=r})}function hT(e,t){const n=e.matches;t.matches=[],Xe(n)&&n.forEach(r=>{if(!Xe(r.indices)||!r.indices.length)return;const{indices:o,value:s}=r;let i={indices:o,value:s};r.key&&(i.key=r.key.src),r.idx>-1&&(i.refIndex=r.idx),t.matches.push(i)})}function pT(e,t){t.score=e.score}function mT(e,t,{includeMatches:n=ae.includeMatches,includeScore:r=ae.includeScore}={}){const o=[];return n&&o.push(hT),r&&o.push(pT),e.map(s=>{const{idx:i}=s,a={item:t[i],refIndex:i};return o.length&&o.forEach(c=>{c(s,a)}),a})}class er{constructor(t,n={},r){this.options={...ae,...n},this.options.useExtendedSearch,this._keyStore=new jC(this.options.keys),this.setCollection(t,r)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Ra))throw new Error(MC);this._myIndex=n||Wd(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){Xe(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let r=0,o=this._docs.length;r-1&&(c=c.slice(0,n)),mT(c,this._docs,{includeMatches:r,includeScore:o})}_searchStringList(t){const n=Oi(t,this.options),{records:r}=this._myIndex,o=[];return r.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=n.searchIn(s);c&&o.push({item:s,idx:i,matches:[{score:l,value:s,norm:a,indices:u}]})}),o}_searchLogical(t){const n=Zd(t,this.options),r=(a,c,l)=>{if(!a.children){const{keyId:f,searcher:d}=a,h=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(c,f),searcher:d});return h&&h.length?[{idx:l,item:c,matches:h}]:[]}const u=[];for(let f=0,d=a.children.length;f{if(Xe(a)){let l=r(n,a,c);l.length&&(s[c]||(s[c]={idx:c,item:a,matches:[]},i.push(s[c])),l.forEach(({matches:u})=>{s[c].matches.push(...u)}))}}),i}_searchObjectList(t){const n=Oi(t,this.options),{keys:r,records:o}=this._myIndex,s=[];return o.forEach(({$:i,i:a})=>{if(!Xe(i))return;let c=[];r.forEach((l,u)=>{c.push(...this._findMatches({key:l,value:i[u],searcher:n}))}),c.length&&s.push({idx:a,item:i,matches:c})}),s}_findMatches({key:t,value:n,searcher:r}){if(!Xe(n))return[];let o=[];if($t(n))n.forEach(({v:s,i,n:a})=>{if(!Xe(s))return;const{isMatch:c,score:l,indices:u}=r.searchIn(s);c&&o.push({score:l,key:t,value:s,idx:i,norm:a,indices:u})});else{const{v:s,n:i}=n,{isMatch:a,score:c,indices:l}=r.searchIn(s);a&&o.push({score:c,key:t,value:s,norm:i,indices:l})}return o}}er.version="6.6.2";er.createIndex=Wd;er.parseIndex=QC;er.config=ae;er.parseQuery=Zd;lT(cT);function gT(e,t,n){const r=()=>{var i,a;return new er((i=xt(t))!=null?i:[],(a=xt(n))==null?void 0:a.fuseOptions)},o=ce(r());ye(()=>{var i;return(i=xt(n))==null?void 0:i.fuseOptions},()=>{o.value=r()},{deep:!0}),ye(()=>xt(t),i=>{o.value.setCollection(i)},{deep:!0});const s=ee(()=>{const i=xt(n);if(i!=null&&i.matchAllWhenSearchEmpty&&!xt(e))return xt(t).map((c,l)=>({item:c,refIndex:l}));const a=i==null?void 0:i.resultLimit;return o.value.search(xt(e),a?{limit:a}:void 0)});return{fuse:o,results:s}}function yT(e){var t;const n=xt(e);return(t=n==null?void 0:n.$el)!=null?t:n}/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE @@ -13,4 +13,4 @@ Use "options.replacer" or "options.ignoreUnknown" * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE */function kl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Ol(e){for(var t=1;t0){var r=t[t.length-1];r!==n&&r.pause()}var o=t.indexOf(n);o===-1||t.splice(o,1),t.push(n)},deactivateTrap:function(t,n){var r=t.indexOf(n);r!==-1&&t.splice(r,1),t.length>0&&t[t.length-1].unpause()}},HT=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},FT=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},Er=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},jT=function(t){return Er(t)&&!t.shiftKey},BT=function(t){return Er(t)&&t.shiftKey},$l=function(t){return setTimeout(t,0)},Ml=function(t,n){var r=-1;return t.every(function(o,s){return n(o)?(r=s,!1):!0}),r},ir=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?x-1:0),J=1;J=0)T=r.activeElement;else{var C=i.tabbableGroups[0],x=C&&C.firstTabbableNode;T=x||u("fallbackFocus")}if(!T)throw new Error("Your focus-trap needs to have at least one focusable element");return T},d=function(){if(i.containerGroups=i.containers.map(function(T){var C=OT(T,s.tabbableOptions),x=LT(T,s.tabbableOptions),V=C.length>0?C[0]:void 0,J=C.length>0?C[C.length-1]:void 0,B=x.find(function(he){return Pn(he)}),Q=x.slice().reverse().find(function(he){return Pn(he)}),U=!!C.find(function(he){return hn(he)>0});return{container:T,tabbableNodes:C,focusableNodes:x,posTabIndexesFound:U,firstTabbableNode:V,lastTabbableNode:J,firstDomTabbableNode:B,lastDomTabbableNode:Q,nextTabbableNode:function(Oe){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,we=C.indexOf(Oe);return we<0?Le?x.slice(x.indexOf(Oe)+1).find(function(ze){return Pn(ze)}):x.slice(0,x.indexOf(Oe)).reverse().find(function(ze){return Pn(ze)}):C[we+(Le?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(T){return T.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(T){return T.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},h=function R(T){if(T!==!1&&T!==r.activeElement){if(!T||!T.focus){R(f());return}T.focus({preventScroll:!!s.preventScroll}),i.mostRecentlyFocusedNode=T,HT(T)&&T.select()}},m=function(T){var C=u("setReturnFocus",T);return C||(C===!1?!1:T)},p=function(T){var C=T.target,x=T.event,V=T.isBackward,J=V===void 0?!1:V;C=C||so(x),d();var B=null;if(i.tabbableGroups.length>0){var Q=l(C,x),U=Q>=0?i.containerGroups[Q]:void 0;if(Q<0)J?B=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:B=i.tabbableGroups[0].firstTabbableNode;else if(J){var he=Ml(i.tabbableGroups,function(mt){var Re=mt.firstTabbableNode;return C===Re});if(he<0&&(U.container===C||Hs(C,s.tabbableOptions)&&!Pn(C,s.tabbableOptions)&&!U.nextTabbableNode(C,!1))&&(he=Q),he>=0){var Oe=he===0?i.tabbableGroups.length-1:he-1,Le=i.tabbableGroups[Oe];B=hn(C)>=0?Le.lastTabbableNode:Le.lastDomTabbableNode}else Er(x)||(B=U.nextTabbableNode(C,!1))}else{var we=Ml(i.tabbableGroups,function(mt){var Re=mt.lastTabbableNode;return C===Re});if(we<0&&(U.container===C||Hs(C,s.tabbableOptions)&&!Pn(C,s.tabbableOptions)&&!U.nextTabbableNode(C))&&(we=Q),we>=0){var ze=we===i.tabbableGroups.length-1?0:we+1,nt=i.tabbableGroups[ze];B=hn(C)>=0?nt.firstTabbableNode:nt.firstDomTabbableNode}else Er(x)||(B=U.nextTabbableNode(C))}}else B=u("fallbackFocus");return B},y=function(T){var C=so(T);if(!(l(C,T)>=0)){if(ir(s.clickOutsideDeactivates,T)){a.deactivate({returnFocus:s.returnFocusOnDeactivate});return}ir(s.allowOutsideClick,T)||T.preventDefault()}},v=function(T){var C=so(T),x=l(C,T)>=0;if(x||C instanceof Document)x&&(i.mostRecentlyFocusedNode=C);else{T.stopImmediatePropagation();var V,J=!0;if(i.mostRecentlyFocusedNode)if(hn(i.mostRecentlyFocusedNode)>0){var B=l(i.mostRecentlyFocusedNode),Q=i.containerGroups[B].tabbableNodes;if(Q.length>0){var U=Q.findIndex(function(he){return he===i.mostRecentlyFocusedNode});U>=0&&(s.isKeyForward(i.recentNavEvent)?U+1=0&&(V=Q[U-1],J=!1))}}else i.containerGroups.some(function(he){return he.tabbableNodes.some(function(Oe){return hn(Oe)>0})})||(J=!1);else J=!1;J&&(V=p({target:i.mostRecentlyFocusedNode,isBackward:s.isKeyBackward(i.recentNavEvent)})),h(V||i.mostRecentlyFocusedNode||f())}i.recentNavEvent=void 0},b=function(T){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=T;var x=p({event:T,isBackward:C});x&&(Er(T)&&T.preventDefault(),h(x))},_=function(T){if(FT(T)&&ir(s.escapeDeactivates,T)!==!1){T.preventDefault(),a.deactivate();return}(s.isKeyForward(T)||s.isKeyBackward(T))&&b(T,s.isKeyBackward(T))},g=function(T){var C=so(T);l(C,T)>=0||ir(s.clickOutsideDeactivates,T)||ir(s.allowOutsideClick,T)||(T.preventDefault(),T.stopImmediatePropagation())},P=function(){if(i.active)return Ll.activateTrap(o,a),i.delayInitialFocusTimer=s.delayInitialFocus?$l(function(){h(f())}):h(f()),r.addEventListener("focusin",v,!0),r.addEventListener("mousedown",y,{capture:!0,passive:!1}),r.addEventListener("touchstart",y,{capture:!0,passive:!1}),r.addEventListener("click",g,{capture:!0,passive:!1}),r.addEventListener("keydown",_,{capture:!0,passive:!1}),a},S=function(){if(i.active)return r.removeEventListener("focusin",v,!0),r.removeEventListener("mousedown",y,!0),r.removeEventListener("touchstart",y,!0),r.removeEventListener("click",g,!0),r.removeEventListener("keydown",_,!0),a},I=function(T){var C=T.some(function(x){var V=Array.from(x.removedNodes);return V.some(function(J){return J===i.mostRecentlyFocusedNode})});C&&h(f())},k=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(I):void 0,H=function(){k&&(k.disconnect(),i.active&&!i.paused&&i.containers.map(function(T){k.observe(T,{subtree:!0,childList:!0})}))};return a={get active(){return i.active},get paused(){return i.paused},activate:function(T){if(i.active)return this;var C=c(T,"onActivate"),x=c(T,"onPostActivate"),V=c(T,"checkCanFocusTrap");V||d(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,C==null||C();var J=function(){V&&d(),P(),H(),x==null||x()};return V?(V(i.containers.concat()).then(J,J),this):(J(),this)},deactivate:function(T){if(!i.active)return this;var C=Ol({onDeactivate:s.onDeactivate,onPostDeactivate:s.onPostDeactivate,checkCanReturnFocus:s.checkCanReturnFocus},T);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,S(),i.active=!1,i.paused=!1,H(),Ll.deactivateTrap(o,a);var x=c(C,"onDeactivate"),V=c(C,"onPostDeactivate"),J=c(C,"checkCanReturnFocus"),B=c(C,"returnFocus","returnFocusOnDeactivate");x==null||x();var Q=function(){$l(function(){B&&h(m(i.nodeFocusedBeforeActivation)),V==null||V()})};return B&&J?(J(m(i.nodeFocusedBeforeActivation)).then(Q,Q),this):(Q(),this)},pause:function(T){if(i.paused||!i.active)return this;var C=c(T,"onPause"),x=c(T,"onPostPause");return i.paused=!0,C==null||C(),S(),H(),x==null||x(),this},unpause:function(T){if(!i.paused||!i.active)return this;var C=c(T,"onUnpause"),x=c(T,"onPostUnpause");return i.paused=!1,C==null||C(),d(),P(),H(),x==null||x(),this},updateContainerElements:function(T){var C=[].concat(T).filter(Boolean);return i.containers=C.map(function(x){return typeof x=="string"?r.querySelector(x):x}),i.active&&d(),H(),this}},a.updateContainerElements(t),a};function UT(e,t={}){let n;const{immediate:r,...o}=t,s=ce(!1),i=ce(!1),a=f=>n&&n.activate(f),c=f=>n&&n.deactivate(f),l=()=>{n&&(n.pause(),i.value=!0)},u=()=>{n&&(n.unpause(),i.value=!1)};return ye(()=>yT(e),f=>{f&&(n=zT(f,{...o,onActivate(){s.value=!0,t.onActivate&&t.onActivate()},onDeactivate(){s.value=!1,t.onDeactivate&&t.onDeactivate()}}),r&&a())},{flush:"post"}),fd(()=>c()),{hasFocus:s,isPaused:i,activate:a,deactivate:c,pause:l,unpause:u}}var Nl;const ms=typeof window<"u",KT=e=>typeof e<"u",WT=e=>typeof e=="function",qT=e=>typeof e=="string",Ia=()=>{},QT=ms&&((Nl=window==null?void 0:window.navigator)==null?void 0:Nl.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function St(e){return typeof e=="function"?e():M(e)}function Dl(e,t=!1,n="Timeout"){return new Promise((r,o)=>{setTimeout(t?()=>o(n):r,e)})}function JT(e){return e}function rh(e){return Ko()?(Qn(e),!0):!1}function ZT(e,t=!0){pt()?Nt(e):t?e():Et(e)}function Ni(e,t=!1){function n(f,{flush:d="sync",deep:h=!1,timeout:m,throwOnTimeout:p}={}){let y=null;const b=[new Promise(_=>{y=ye(e,g=>{f(g)!==t&&(y==null||y(),_(g))},{flush:d,deep:h,immediate:!0})})];return m!=null&&b.push(Dl(m,p).then(()=>St(e)).finally(()=>y==null?void 0:y())),Promise.race(b)}function r(f,d){if(!Se(f))return n(g=>g===f,d);const{flush:h="sync",deep:m=!1,timeout:p,throwOnTimeout:y}=d??{};let v=null;const _=[new Promise(g=>{v=ye([e,f],([P,S])=>{t!==(P===S)&&(v==null||v(),g(P))},{flush:h,deep:m,immediate:!0})})];return p!=null&&_.push(Dl(p,y).then(()=>St(e)).finally(()=>(v==null||v(),St(e)))),Promise.race(_)}function o(f){return n(d=>!!d,f)}function s(f){return r(null,f)}function i(f){return r(void 0,f)}function a(f){return n(Number.isNaN,f)}function c(f,d){return n(h=>{const m=Array.from(h);return m.includes(f)||m.includes(St(f))},d)}function l(f){return u(1,f)}function u(f=1,d){let h=-1;return n(()=>(h+=1,h>=f),d)}return Array.isArray(St(e))?{toMatch:n,toContains:c,changed:l,changedTimes:u,get not(){return Ni(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:o,toBeNull:s,toBeNaN:a,toBeUndefined:i,changed:l,changedTimes:u,get not(){return Ni(e,!t)}}}function wx(e){return Ni(e)}function YT(e,t,n={}){const{immediate:r=!0}=n,o=ce(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,i()}function c(...l){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...l)},St(t))}return r&&(o.value=!0,ms&&c()),rh(a),{isPending:qo(o),start:c,stop:a}}function dr(e){var t;const n=St(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ka=ms?window:void 0,GT=ms?window.navigator:void 0;function Wt(...e){let t,n,r,o;if(qT(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=ka):[t,n,r,o]=e,!t)return Ia;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(u=>u()),s.length=0},a=(u,f,d,h)=>(u.addEventListener(f,d,h),()=>u.removeEventListener(f,d,h)),c=ye(()=>[dr(t),St(o)],([u,f])=>{i(),u&&s.push(...n.flatMap(d=>r.map(h=>a(u,d,h,f))))},{immediate:!0,flush:"post"}),l=()=>{c(),i()};return rh(l),l}let Hl=!1;function Ex(e,t,n={}){const{window:r=ka,ignore:o=[],capture:s=!0,detectIframe:i=!1}=n;if(!r)return;QT&&!Hl&&(Hl=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",Ia)));let a=!0;const c=d=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(m=>m===d.target||d.composedPath().includes(m));{const m=dr(h);return m&&(d.target===m||d.composedPath().includes(m))}}),u=[Wt(r,"click",d=>{const h=dr(e);if(!(!h||h===d.target||d.composedPath().includes(h))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}t(d)}},{passive:!0,capture:s}),Wt(r,"pointerdown",d=>{const h=dr(e);h&&(a=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),i&&Wt(r,"blur",d=>{var h;const m=dr(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>u.forEach(d=>d())}function XT(e,t=!1){const n=ce(),r=()=>n.value=!!e();return r(),ZT(r,t),n}function Cx(e={}){const{navigator:t=GT,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=["copy","cut"],a=XT(()=>t&&"clipboard"in t),c=ee(()=>a.value||s),l=ce(""),u=ce(!1),f=YT(()=>u.value=!1,o);function d(){a.value?t.clipboard.readText().then(y=>{l.value=y}):l.value=p()}if(c.value&&n)for(const y of i)Wt(y,d);async function h(y=St(r)){c.value&&y!=null&&(a.value?await t.clipboard.writeText(y):m(y),l.value=y,u.value=!0,f.start())}function m(y){const v=document.createElement("textarea");v.value=y??"",v.style.position="absolute",v.style.opacity="0",document.body.appendChild(v),v.select(),document.execCommand("copy"),v.remove()}function p(){var y,v,b;return(b=(v=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:v.toString())!=null?b:""}return{isSupported:c,text:l,copied:u,copy:h}}function eP(e){return JSON.parse(JSON.stringify(e))}const Fl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},jl="__vueuse_ssr_handlers__";Fl[jl]=Fl[jl]||{};const tP={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function nP(e={}){const{reactive:t=!1,target:n=ka,aliasMap:r=tP,passive:o=!0,onEventFired:s=Ia}=e,i=tt(new Set),a={toJSON(){return{}},current:i},c=t?tt(a):a,l=new Set,u=new Set;function f(p,y){p in c&&(t?c[p]=y:c[p].value=y)}function d(){i.clear();for(const p of u)f(p,!1)}function h(p,y){var v,b;const _=(v=p.key)==null?void 0:v.toLowerCase(),P=[(b=p.code)==null?void 0:b.toLowerCase(),_].filter(Boolean);_&&(y?i.add(_):i.delete(_));for(const S of P)u.add(S),f(S,y);_==="meta"&&!y?(l.forEach(S=>{i.delete(S),f(S,!1)}),l.clear()):typeof p.getModifierState=="function"&&p.getModifierState("Meta")&&y&&[...i,...P].forEach(S=>l.add(S))}Wt(n,"keydown",p=>(h(p,!0),s(p)),{passive:o}),Wt(n,"keyup",p=>(h(p,!1),s(p)),{passive:o}),Wt("blur",d,{passive:!0}),Wt("focus",d,{passive:!0});const m=new Proxy(c,{get(p,y,v){if(typeof y!="string")return Reflect.get(p,y,v);if(y=y.toLowerCase(),y in r&&(y=r[y]),!(y in c))if(/[+_-]/.test(y)){const _=y.split(/[+_-]/g).map(g=>g.trim());c[y]=ee(()=>_.every(g=>M(m[g])))}else c[y]=ce(!1);const b=Reflect.get(p,y,v);return t?M(b):b}});return m}var Bl;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Bl||(Bl={}));var rP=Object.defineProperty,Vl=Object.getOwnPropertySymbols,oP=Object.prototype.hasOwnProperty,sP=Object.prototype.propertyIsEnumerable,zl=(e,t,n)=>t in e?rP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iP=(e,t)=>{for(var n in t||(t={}))oP.call(t,n)&&zl(e,n,t[n]);if(Vl)for(var n of Vl(t))sP.call(t,n)&&zl(e,n,t[n]);return e};const aP={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};iP({linear:JT},aP);function Tx(e,t,n,r={}){var o,s,i;const{clone:a=!1,passive:c=!1,eventName:l,deep:u=!1,defaultValue:f}=r,d=pt(),h=n||(d==null?void 0:d.emit)||((o=d==null?void 0:d.$emit)==null?void 0:o.bind(d))||((i=(s=d==null?void 0:d.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(d==null?void 0:d.proxy));let m=l;t||(t="modelValue"),m=l||m||`update:${t.toString()}`;const p=v=>a?WT(a)?a(v):eP(v):v,y=()=>KT(e[t])?p(e[t]):f;if(c){const v=y(),b=ce(v);return ye(()=>e[t],_=>b.value=p(_)),ye(b,_=>{(_!==e[t]||u)&&h(m,_)},{deep:u}),b}else return ee({get(){return y()},set(v){h(m,v)}})}const zr=e=>(_u("data-v-0c43b394"),e=e(),vu(),e),cP={class:"content"},lP=zr(()=>se("span",null,"Search",-1)),uP=zr(()=>se("span",null,[se("kbd",null,"⌘"),se("kbd",null,"K")],-1)),fP={class:"search-input"},dP=["onKeydown"],hP=["id","onMouseenter"],pP={class:"search-result-content-wrapper"},mP={class:"search-result-content-head"},gP={key:2},yP=zr(()=>se("span",{class:"arrow",innerHTML:"→"},null,-1)),_P={key:0,class:"search-result-content-preview"},vP=zr(()=>se("span",null,"“",-1)),bP=["innerHTML"],wP=zr(()=>se("span",null,"“",-1)),EP={key:1,class:"search-results empty"},CP={key:2,class:"search-results empty"},TP=Ae({__name:"AppSearch",props:{fuse:{type:Object,default:()=>({fuseOptions:{keys:["title","description","keywords","body"],ignoreLocation:!0,threshold:0,includeMatches:!0,includeScore:!0},matchAllWhenSearchEmpty:!0})}},async setup(e){let t,n;const r=e,o=ce(""),s=ce(),i=ce(),a=ce(),c=ce(-1),l=ce(!1),{close:u,open:f}=$d(),{activate:d,deactivate:h}=UT(s),{navigation:m}=Vr(),{meta_K:p,Escape:y}=nP(),{data:v}=([t,n]=Du(()=>l_("search-api",()=>$fetch("/api/search",{parseResponse:JSON.parse}))),t=await t,n(),t),{results:b}=gT(o,v,r.fuse);function _(R,T,C){for(const x of R){if(x._path===T)return{directoryTitle:C.title,directoryIcon:C.icon};if(x.children){const V=_(x.children,T,x);if(V)return V}}}function g(R){let T;for(const C of m.value)if(C.children){const x=_(C.children,R,C);x&&(T=x)}return T}function P(R,T){const{indices:C,value:x}=T||{indices:[],value:""};if(R===x)return"";let V="",J=0;C.forEach(Q=>{const U=Q[1]+1,he=U-Q[0]>=o.value.length;V+=[x.substring(J,Q[0]),he&&"",x.substring(Q[0],U),he&&""].filter(Boolean).join(""),J=U}),V+=x.substring(J);const B=V.indexOf("");return B>60&&(V=`${V.substring(B-60)}`),`${V}”`}function S(){c.value===-1?c.value=0:c.value===b.value.length-1||(c.value=c.value+1)}function I(){c.value===-1?c.value=b.value.length-1:c.value===0||(c.value=c.value-1)}function k(R){var x,V;const T=(V=(x=b==null?void 0:b.value)==null?void 0:x[R])==null?void 0:V.item,C=T==null?void 0:T.path;C&&(l.value=!1,ct().push(C))}function H(){var R,T;o.value?(o.value="",c.value=-1,(T=(R=i.value)==null?void 0:R.focus)==null||T.call(R)):l.value=!1}return Nt(()=>{const R=at();R.query.q&&(l.value=!0,o.value=R.query.q)}),ye(c,R=>{var C,x,V,J;const T=(V=(x=(C=b==null?void 0:b.value)==null?void 0:C[R])==null?void 0:x.item)==null?void 0:V.id;T&&((J=document.querySelector(`[id="${T}"]`))==null||J.scrollIntoView({block:"nearest"}))}),ye(o,R=>{c.value=0}),ye(l,R=>{R?(f(),Et(()=>{d()})):(o.value="",c.value=-1,h(),u())}),ye(p,R=>{R&&(l.value=!l.value)}),ye(y,()=>{l.value&&(l.value=!1)}),(R,T)=>{const C=Dt;return q(),ue(Pe,null,[se("button",{type:"button","aria-label":"Search",onClick:T[0]||(T[0]=x=>l.value=!0)},[se("span",cP,[oe(C,{name:"heroicons-outline:search"}),lP,uP])]),(q(),de(Qu,{to:"body"},[M(l)?(q(),ue("div",{key:0,ref_key:"searchContentRef",ref:s,class:"search-content",onClick:T[5]||(T[5]=x=>l.value=!1)},[se("div",{class:"search-window",onClick:T[4]||(T[4]=ur(()=>{},["stop"]))},[se("div",fP,[oe(C,{name:"heroicons-outline:search",class:"search-icon"}),Tu(se("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":T[1]||(T[1]=x=>Se(o)?o.value=x:null),type:"text",placeholder:"Search documentation",onKeydown:[As(ur(I,["prevent"]),["up"]),As(ur(S,["prevent"]),["down"]),T[2]||(T[2]=As(x=>k(M(c)),["enter"]))]},null,40,dP),[[Om,M(o)]]),se("button",{class:"close-button",onClick:H},[oe(C,{name:"heroicons:x-mark",class:"close-icon"})])]),M(b).length>0?(q(),ue("div",{key:0,ref_key:"resultsAreaRef",ref:a,class:"search-results"},[(q(!0),ue(Pe,null,Fn(M(b),(x,V)=>{var J,B,Q,U,he,Oe,Le,we,ze,nt;return q(),ue("div",{id:x.item.id,key:x.item.id,class:Fe(["search-result",{selected:M(c)===V}]),onClick:T[3]||(T[3]=mt=>k(M(c))),onMouseenter:ur(mt=>c.value=V,["prevent"])},[se("div",pP,[se("div",mP,[(B=g((J=x==null?void 0:x.item)==null?void 0:J.path))!=null&&B.directoryIcon?(q(),de(C,{key:0,name:(U=g((Q=x==null?void 0:x.item)==null?void 0:Q.path))==null?void 0:U.directoryIcon},null,8,["name"])):(q(),de(C,{key:1,name:"solar:documents-bold-duotone"})),(Oe=g((he=x==null?void 0:x.item)==null?void 0:he.path))!=null&&Oe.directoryTitle?(q(),ue("span",gP,[Xn(Ot((we=g((Le=x==null?void 0:x.item)==null?void 0:Le.path))==null?void 0:we.directoryTitle)+" ",1),yP])):je("",!0),se("span",null,Ot(x.item.title),1)]),(ze=x==null?void 0:x.matches)!=null&&ze[0]?(q(),ue("p",_P,[vP,se("span",{innerHTML:`${P(M(o),(nt=x==null?void 0:x.matches)==null?void 0:nt[0])}`},null,8,bP),wP])):je("",!0)])],42,hP)}),128))],512)):M(o)?(q(),ue("div",CP," No results found. Try another query ")):(q(),ue("div",EP," Type your query to search docs "))])],512)):je("",!0)]))],64)}}});const oh=Ve(TP,[["__scopeId","data-v-0c43b394"]]),PP=Object.freeze(Object.defineProperty({__proto__:null,default:oh},Symbol.toStringTag,{value:"Module"})),xP=Ae({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(e,{slots:t,attrs:n}){const r=ce(!1);return Nt(()=>{r.value=!0}),o=>{var c;if(r.value)return(c=t.default)==null?void 0:c.call(t);const s=t.fallback||t.placeholder;if(s)return s();const i=o.fallback||o.placeholder||"",a=o.fallbackTag||o.placeholderTag||"span";return ue(a,n,i)}}}),AP={name:iw,props:{placeholder:String,tag:{type:String,default:"span"}}};function SP(e,t,n,r,o,s){const i=xP;return q(),de(i,{placeholder:n.placeholder,"placeholder-tag":n.tag},{default:Ze(()=>[Sr(e.$slots,"default")]),_:3},8,["placeholder","placeholder-tag"])}const RP=Ve(AP,[["render",SP]]),IP=()=>Rt("color-mode").value,kP=Ae({__name:"ThemeSelect",setup(e){const t=IP(),n=()=>{const r=["system","light","dark"],s=(r.indexOf(t.preference)+1)%r.length;t.preference=r[s]};return(r,o)=>{const s=Dt,i=RP;return q(),ue("button",{"aria-label":"Color Mode",onClick:n},[oe(i,{placeholder:"..."},{default:Ze(()=>[M(t).preference==="dark"?(q(),de(s,{key:0,name:"uil:moon"})):M(t).preference==="light"?(q(),de(s,{key:1,name:"uil:sun"})):(q(),de(s,{key:2,name:"uil:desktop"}))]),_:1})])}}});const sh=Ve(kP,[["__scopeId","data-v-8c5f6b44"]]),OP=Object.freeze(Object.defineProperty({__proto__:null,default:sh},Symbol.toStringTag,{value:"Module"})),LP=Ae({__name:"Container",props:{as:{type:String,required:!1,default:"div"},padded:{required:!1,type:[Boolean,Object],default:!0},fluid:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const t=e,n={padded:{true:{px:"{elements.container.padding.mobile}","@xs":{px:"{elements.container.padding.xs}"},"@sm":{px:"{elements.container.padding.sm}"},"@md":{px:"{elements.container.padding.md}"}}},fluid:{true:{},false:{maxWidth:"{elements.container.maxWidth}"}}},{$pinceau:r}=Q1(t,n,void 0);return(o,s)=>(q(),de(es(e.as),{class:Fe(["container",[M(r)]])},{default:Ze(()=>[Sr(o.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}});const Oa=Ve(LP,[["__scopeId","data-v-6fad1fba"]]),$P=Object.freeze(Object.defineProperty({__proto__:null,default:Oa},Symbol.toStringTag,{value:"Module"})),MP={class:"section left"},NP={class:"section center"},DP={class:"section right"},HP={class:"social-icons"},FP=Ae({__name:"AppHeader",props:{},setup(e){const{config:t}=nn(),{navigation:n}=Vr(),{hasDocSearch:r}=Fd(),o=ee(()=>{var s,i,a,c;return((s=n.value)==null?void 0:s.length)>1||((c=(a=(i=n.value)==null?void 0:i[0])==null?void 0:a.children)==null?void 0:c.length)});return(s,i)=>{var p,y;const a=Md,c=Dd,l=Hd,u=Bd,f=oh,d=sh,h=ps,m=Oa;return q(),ue("header",{class:Fe({"has-dialog":M(o)})},[oe(m,{fluid:(y=(p=M(t))==null?void 0:p.header)==null?void 0:y.fluid},{default:Ze(()=>[se("div",MP,[M(o)?(q(),de(a,{key:0})):je("",!0),oe(c)]),se("div",NP,[M(o)?(q(),de(c,{key:0})):je("",!0),oe(l)]),se("div",DP,[M(r)?(q(),de(u,{key:0})):(q(),de(f,{key:1,fuse:M(t).fuse},null,8,["fuse"])),oe(d),se("div",HP,[oe(h)])])]),_:1},8,["fluid"])],2)}}});const ih=Ve(FP,[["__scopeId","data-v-9e920cd4"]]),jP=Object.freeze(Object.defineProperty({__proto__:null,default:ih},Symbol.toStringTag,{value:"Module"})),BP={class:"left"},VP=["href"],zP={key:1},UP={class:"center"},KP={class:"right"},WP=["aria-label","href","rel"],qP=Ae({__name:"AppFooter",setup(e){const{config:t}=nn(),n=ce(null),r=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.iconLinks)||[]}),o=ee(()=>{var a,c;return((c=(a=t.value)==null?void 0:a.footer)==null?void 0:c.textLinks)||[]}),s=ee(()=>{var a;return Object.entries(((a=t.value)==null?void 0:a.socials)||{}).filter(([,c])=>c).length}),i=ee(()=>n.value?s.value:0);return(a,c)=>{var h,m;const l=Dt,u=Br,f=ps,d=Oa;return q(),ue("footer",null,[oe(d,{fluid:(m=(h=M(t))==null?void 0:h.footer)==null?void 0:m.fluid,padded:"",class:"footer-container"},{default:Ze(()=>{var p,y,v,b,_,g,P,S,I,k,H,R,T,C;return[se("div",BP,[(y=(p=M(t))==null?void 0:p.footer)!=null&&y.credits?(q(),ue("a",{key:0,href:((_=(b=(v=M(t))==null?void 0:v.footer)==null?void 0:b.credits)==null?void 0:_.href)||"#",rel:"noopener",target:"_blank"},[(S=(P=(g=M(t))==null?void 0:g.footer)==null?void 0:P.credits)!=null&&S.icon?(q(),de(l,{key:0,name:(H=(k=(I=M(t))==null?void 0:I.footer)==null?void 0:k.credits)==null?void 0:H.icon,class:"left-icon"},null,8,["name"])):je("",!0),(C=(T=(R=M(t))==null?void 0:R.footer)==null?void 0:T.credits)!=null&&C.text?(q(),ue("p",zP,Ot(M(t).footer.credits.text),1)):je("",!0)],8,VP)):je("",!0)]),se("div",UP,[(q(!0),ue(Pe,null,Fn(M(o),x=>(q(),de(u,{key:x.href,class:"text-link","aria-label":x.text,href:x.href,target:(x==null?void 0:x.target)||"_self",rel:(x==null?void 0:x.rel)||"noopener noreferrer"},{default:Ze(()=>[Xn(Ot(x.text),1)]),_:2},1032,["aria-label","href","target","rel"]))),128))]),se("div",KP,[(q(!0),ue(Pe,null,Fn(M(r).slice(0,6-M(i)),x=>(q(),ue("a",{key:x.label,class:"icon-link","aria-label":x.label,href:x.href,target:"_blank",rel:(x==null?void 0:x.rel)||"noopener noreferrer"},[oe(l,{name:x.icon},null,8,["name"])],8,WP))),128)),oe(f,{ref_key:"socialIcons",ref:n},null,512)])]}),_:1},8,["fluid"])])}}});const ah=Ve(qP,[["__scopeId","data-v-351b46b1"]]),QP=Object.freeze(Object.defineProperty({__proto__:null,default:ah},Symbol.toStringTag,{value:"Module"})),JP=(e,t=at())=>{const n=M(e),r=We();ye(()=>M(e),(s=n)=>{if(!t.path||!s)return;const i=Object.assign({},(s==null?void 0:s.head)||{});i.meta=[...i.meta||[]],i.link=[...i.link||[]];const a=i.title||(s==null?void 0:s.title);a&&(i.title=a),r.public.content.host;const c=(i==null?void 0:i.description)||(s==null?void 0:s.description);c&&i.meta.filter(l=>l.name==="description").length===0&&i.meta.push({name:"description",content:c}),i!=null&&i.image||(s==null||s.image),Et(()=>Lr(i))},{immediate:!0})},ZP={class:"app-layout"},YP=Ae({__name:"AppLayout",setup(e){const{config:t}=nn();return Lr({titleTemplate:t.value.titleTemplate,meta:[{name:"twitter:card",content:"summary_large_image"}]}),ye(()=>t.value.titleTemplate,()=>Lr({titleTemplate:t.value.titleTemplate})),JP(t.value),(n,r)=>{const o=gd,s=ih,i=ah;return q(),ue("div",ZP,[oe(o),oe(s),se("main",null,[Sr(n.$slots,"default",{},void 0,!0)]),oe(i)])}}});const ch=Ve(YP,[["__scopeId","data-v-47c944a3"]]),GP=Object.freeze(Object.defineProperty({__proto__:null,default:ch},Symbol.toStringTag,{value:"Module"})),XP=Ae({__name:"app",setup(e){return ww(),(t,n)=>{const r=md,o=jw,s=ch;return q(),ue("div",null,[oe(r,{type:"warning"},{default:Ze(()=>[Xn("Currently you are viewing v3 document of vue-recaptcha which is still in development")]),_:1}),oe(s,null,{default:Ze(()=>[oe(o)]),_:1})])}}}),ex={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;(n.stack||"").split(` `).splice(1).map(f=>({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`${f.text}`).join(` -`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,u=o?N(()=>L(()=>import("./error-404.9527bfb6.js"),["./error-404.9527bfb6.js","./error-404.ab4c8550.css"],import.meta.url).then(f=>f.default||f)):N(()=>L(()=>import("./error-500.ad84f558.js"),["./error-500.ad84f558.js","./error-500.b8346758.css"],import.meta.url).then(f=>f.default||f));return(f,d)=>(q(),de(M(u),bh(Xu({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},Ul={__name:"nuxt-root",setup(e){const t=()=>null,n=ge(),r=n.deferHydration(),o=!1;Nn(rs,at()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=os();Lu((a,c,l)=>{if(n.hooks.callHook("vue:error",a,c,l).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),n_(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>Rn(a)),!1});const i=!1;return(a,c)=>(q(),de(wu,{onResolve:M(r)},{default:Ze(()=>[M(s)?(q(),de(M(ex),{key:0,error:M(s)},null,8,["error"])):M(i)?(q(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(q(),de(es(M(o)),{key:2})):(q(),de(M(XP),{key:3}))]),_:1},8,["onResolve"]))}};globalThis.$fetch||(globalThis.$fetch=Sg.create({baseURL:Ig()}));let Kl;{let e;Kl=async function(){var s,i;if(e)return e;const r=!!((s=window.__NUXT__)!=null&&s.serverRendered||((i=document.getElementById("__NUXT_DATA__"))==null?void 0:i.dataset.ssr)==="true")?Fm(Ul):Hm(Ul),o=zg({vueApp:r});try{await Kg(o,Rw)}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(a_),await o.hooks.callHook("app:mounted",r),await Et()}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}return r},e=Kl().catch(t=>{console.error("Error while mounting app:",t)})}export{Ow as $,Sn as A,Et as B,sx as C,me as D,Lr as E,Pe as F,Xn as G,Br as H,De as I,ix as J,ee as K,M as L,fr as M,ox as N,Fw as O,rs as P,et as Q,Xp as R,wu as S,sa as T,Nn as U,Gy as V,Vr as W,JP as X,de as Y,Se as Z,L as _,Ar as a,ux as a$,Tx as a0,Dt as a1,Tu as a2,Om as a3,wx as a4,ye as a5,Gn as a6,pt as a7,tt as a8,gp as a9,pa as aA,ku as aB,Fn as aC,ur as aD,Cx as aE,Ex as aF,lf as aG,ym as aH,hd as aI,kw as aJ,vi as aK,c_ as aL,IP as aM,hx as aN,xo as aO,tx as aP,ko as aQ,b1 as aR,qn as aS,rx as aT,sl as aU,dx as aV,Tt as aW,ax as aX,fx as aY,cx as aZ,lx as a_,uu as aa,Sr as ab,Q1 as ac,nx as ad,Rp as ae,p1 as af,jn as ag,kr as ah,ga as ai,px as aj,Qo as ak,bh as al,Xu as am,es as an,gx as ao,mx as ap,vx as aq,bx as ar,_x as as,yx as at,nn as au,Sa as av,tn as aw,md as ax,Oa as ay,h1 as az,q as b,_1 as b0,ue as c,Ae as d,se as e,je as f,oe as g,lo as h,vu as i,ge as j,Ve as k,We as l,Rt as m,Fe as n,Nt as o,_u as p,fo as q,ce as r,at as s,Ot as t,ct as u,yf as v,Ze as w,ua as x,Hn as y,Hm as z}; +`);const r=Number(n.statusCode||500),o=r===404,s=n.statusMessage??(o?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,u=o?N(()=>L(()=>import("./error-404.0556730f.js"),["./error-404.0556730f.js","./error-404.ab4c8550.css"],import.meta.url).then(f=>f.default||f)):N(()=>L(()=>import("./error-500.599ae020.js"),["./error-500.599ae020.js","./error-500.b8346758.css"],import.meta.url).then(f=>f.default||f));return(f,d)=>(q(),de(M(u),bh(Xu({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},Ul={__name:"nuxt-root",setup(e){const t=()=>null,n=ge(),r=n.deferHydration(),o=!1;Nn(rs,at()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=os();Lu((a,c,l)=>{if(n.hooks.callHook("vue:error",a,c,l).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),n_(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>Rn(a)),!1});const i=!1;return(a,c)=>(q(),de(wu,{onResolve:M(r)},{default:Ze(()=>[M(s)?(q(),de(M(ex),{key:0,error:M(s)},null,8,["error"])):M(i)?(q(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(q(),de(es(M(o)),{key:2})):(q(),de(M(XP),{key:3}))]),_:1},8,["onResolve"]))}};globalThis.$fetch||(globalThis.$fetch=Sg.create({baseURL:Ig()}));let Kl;{let e;Kl=async function(){var s,i;if(e)return e;const r=!!((s=window.__NUXT__)!=null&&s.serverRendered||((i=document.getElementById("__NUXT_DATA__"))==null?void 0:i.dataset.ssr)==="true")?Fm(Ul):Hm(Ul),o=zg({vueApp:r});try{await Kg(o,Rw)}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(a_),await o.hooks.callHook("app:mounted",r),await Et()}catch(a){await o.callHook("app:error",a),o.payload.error=o.payload.error||a}return r},e=Kl().catch(t=>{console.error("Error while mounting app:",t)})}export{Ow as $,Sn as A,Et as B,sx as C,me as D,Lr as E,Pe as F,Xn as G,Br as H,De as I,ix as J,ee as K,M as L,fr as M,ox as N,Fw as O,rs as P,et as Q,Xp as R,wu as S,sa as T,Nn as U,Gy as V,Vr as W,JP as X,de as Y,Se as Z,L as _,Ar as a,ux as a$,Tx as a0,Dt as a1,Tu as a2,Om as a3,wx as a4,ye as a5,Gn as a6,pt as a7,tt as a8,gp as a9,pa as aA,ku as aB,Fn as aC,ur as aD,Cx as aE,Ex as aF,lf as aG,ym as aH,hd as aI,kw as aJ,vi as aK,c_ as aL,IP as aM,hx as aN,xo as aO,tx as aP,ko as aQ,b1 as aR,qn as aS,rx as aT,sl as aU,dx as aV,Tt as aW,ax as aX,fx as aY,cx as aZ,lx as a_,uu as aa,Sr as ab,Q1 as ac,nx as ad,Rp as ae,p1 as af,jn as ag,kr as ah,ga as ai,px as aj,Qo as ak,bh as al,Xu as am,es as an,gx as ao,mx as ap,vx as aq,bx as ar,_x as as,yx as at,nn as au,Sa as av,tn as aw,md as ax,Oa as ay,h1 as az,q as b,_1 as b0,ue as c,Ae as d,se as e,je as f,oe as g,lo as h,vu as i,ge as j,Ve as k,We as l,Rt as m,Fe as n,Nt as o,_u as p,fo as q,ce as r,at as s,Ot as t,ct as u,yf as v,Ze as w,ua as x,Hn as y,Hm as z}; diff --git a/_nuxt/erDiagram-20cc9db4.12c0aae2.js b/_nuxt/erDiagram-20cc9db4.a89bb4e0.js similarity index 99% rename from _nuxt/erDiagram-20cc9db4.12c0aae2.js rename to _nuxt/erDiagram-20cc9db4.a89bb4e0.js index 949faaf30c..1fffb97d1e 100644 --- a/_nuxt/erDiagram-20cc9db4.12c0aae2.js +++ b/_nuxt/erDiagram-20cc9db4.a89bb4e0.js @@ -1,4 +1,4 @@ -import{c as U,s as xt,g as kt,b as Ot,a as bt,x as Rt,y as Nt,e as Tt,l as tt,A as vt,i as at,z as At,j as Mt,a3 as It,a4 as wt}from"./mermaid.core.6d8597df.js";import{G as St,l as Bt}from"./layout.e490e9ef.js";import{l as Dt}from"./line.dc626553.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ct(t){return typeof t=="string"&&Lt.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function Yt(t,r=0){return(A[t[r+0]]+A[t[r+1]]+A[t[r+2]]+A[t[r+3]]+"-"+A[t[r+4]]+A[t[r+5]]+"-"+A[t[r+6]]+A[t[r+7]]+"-"+A[t[r+8]]+A[t[r+9]]+"-"+A[t[r+10]]+A[t[r+11]]+A[t[r+12]]+A[t[r+13]]+A[t[r+14]]+A[t[r+15]]).toLowerCase()}function Zt(t){if(!Ct(t))throw TypeError("Invalid UUID");let r;const e=new Uint8Array(16);return e[0]=(r=parseInt(t.slice(0,8),16))>>>24,e[1]=r>>>16&255,e[2]=r>>>8&255,e[3]=r&255,e[4]=(r=parseInt(t.slice(9,13),16))>>>8,e[5]=r&255,e[6]=(r=parseInt(t.slice(14,18),16))>>>8,e[7]=r&255,e[8]=(r=parseInt(t.slice(19,23),16))>>>8,e[9]=r&255,e[10]=(r=parseInt(t.slice(24,36),16))/1099511627776&255,e[11]=r/4294967296&255,e[12]=r>>>24&255,e[13]=r>>>16&255,e[14]=r>>>8&255,e[15]=r&255,e}function Ft(t){t=unescape(encodeURIComponent(t));const r=[];for(let e=0;e>>32-r}function zt(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;O=E,E=g,g=st(_,30)>>>0,_=h,h=D}e[0]=e[0]+h>>>0,e[1]=e[1]+_>>>0,e[2]=e[2]+g>>>0,e[3]=e[3]+E>>>0,e[4]=e[4]+O>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}const Gt=Ut("v5",80,zt),Kt=Gt;var ot=function(){var t=function(v,n,s,d){for(s=s||{},d=v.length;d--;s[v[d]]=n);return s},r=[1,2],e=[1,5],a=[6,9,11,23,25,27,29,30,31,51],c=[1,17],p=[1,18],f=[1,19],l=[1,20],h=[1,21],_=[1,22],g=[1,25],E=[1,30],O=[1,31],y=[1,32],M=[1,33],D=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],V=[1,45],z=[30,31,48,49],L=[4,6,9,11,23,25,27,29,30,31,51],R=[44,45,46,47],N=[22,37],T=[1,65],x=[1,64],S=[22,37,39,41],C={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,s,d,u,m,i,X){var o=i.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 7:case 8:this.$=[];break;case 12:u.addEntity(i[o-4]),u.addEntity(i[o-2]),u.addRelationship(i[o-4],i[o],i[o-2],i[o-3]);break;case 13:u.addEntity(i[o-3]),u.addAttributes(i[o-3],i[o-1]);break;case 14:u.addEntity(i[o-2]);break;case 15:u.addEntity(i[o]);break;case 16:case 17:this.$=i[o].trim(),u.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),u.setAccDescription(this.$);break;case 20:case 43:this.$=i[o];break;case 21:case 41:case 42:this.$=i[o].replace(/"/g,"");break;case 22:case 30:this.$=[i[o]];break;case 23:i[o].push(i[o-1]),this.$=i[o];break;case 24:this.$={attributeType:i[o-1],attributeName:i[o]};break;case 25:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeKeyTypeList:i[o]};break;case 26:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeComment:i[o]};break;case 27:this.$={attributeType:i[o-3],attributeName:i[o-2],attributeKeyTypeList:i[o-1],attributeComment:i[o]};break;case 28:case 29:case 32:this.$=i[o];break;case 31:i[o-2].push(i[o]),this.$=i[o-2];break;case 33:this.$=i[o].replace(/"/g,"");break;case 34:this.$={cardA:i[o],relType:i[o-1],cardB:i[o-2]};break;case 35:this.$=u.Cardinality.ZERO_OR_ONE;break;case 36:this.$=u.Cardinality.ZERO_OR_MORE;break;case 37:this.$=u.Cardinality.ONE_OR_MORE;break;case 38:this.$=u.Cardinality.ONLY_ONE;break;case 39:this.$=u.Identification.NON_IDENTIFYING;break;case 40:this.$=u.Identification.IDENTIFYING;break;case 44:u.parseDirective("%%{","open_directive");break;case 45:u.parseDirective(i[o],"type_directive");break;case 46:i[o]=i[o].trim().replace(/'/g,'"'),u.parseDirective(i[o],"arg_directive");break;case 47:u.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:r,7:3,12:4,51:e},{1:[3]},t(a,[2,3],{5:6}),{3:7,4:r,7:3,12:4,51:e},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},{1:[2,2]},{14:23,15:[1,24],54:g},t([15,54],[2,45]),t(a,[2,8],{1:[2,1]}),t(a,[2,4]),{7:15,10:26,12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},t(a,[2,6]),t(a,[2,7]),t(a,[2,11]),t(a,[2,15],{18:27,42:29,20:[1,28],44:E,45:O,46:y,47:M}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(a,[2,19]),t(D,[2,20]),t(D,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(a,[2,5]),{17:40,30:h,31:_},{21:41,22:[1,42],32:43,33:44,37:V},{43:46,48:[1,47],49:[1,48]},t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(z,[2,38]),t(a,[2,16]),t(a,[2,17]),t(a,[2,18]),t(L,[2,9]),{14:49,54:g},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(a,[2,14]),{21:52,22:[2,22],32:43,33:44,37:V},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:E,45:O,46:y,47:M},t(R,[2,39]),t(R,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(a,[2,13]),{22:[2,23]},t(N,[2,24],{35:61,36:62,38:63,40:T,41:x}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(L,[2,10]),t(a,[2,12]),t(a,[2,41]),t(a,[2,42]),t(a,[2,43]),t(N,[2,25],{36:66,39:[1,67],41:x}),t(N,[2,26]),t(S,[2,30]),t(N,[2,33]),t(S,[2,32]),t(N,[2,27]),{38:68,40:T},t(S,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(n,s){if(s.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=s,d}},parse:function(n){var s=this,d=[0],u=[],m=[null],i=[],X=this.table,o="",q=0,lt=0,_t=2,ht=1,gt=i.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(G.yy[et]=this.yy[et]);b.setInput(n,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var rt=b.yylloc;i.push(rt);var mt=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Et(){var F;return F=u.pop()||b.lex()||ht,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=s.symbols_[F]||F),F}for(var I,K,w,it,H={},J,Z,dt,$;;){if(K=d[d.length-1],this.defaultActions[K]?w=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Et()),w=X[K]&&X[K][I]),typeof w>"u"||!w.length||!w[0]){var nt="";$=[];for(J in X[K])this.terminals_[J]&&J>_t&&$.push("'"+this.terminals_[J]+"'");b.showPosition?nt="Parse error on line "+(q+1)+`: +import{c as U,s as xt,g as kt,b as Ot,a as bt,x as Rt,y as Nt,e as Tt,l as tt,A as vt,i as at,z as At,j as Mt,a3 as It,a4 as wt}from"./mermaid.core.bd97f718.js";import{G as St,l as Bt}from"./layout.11303474.js";import{l as Dt}from"./line.2cebc606.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ct(t){return typeof t=="string"&&Lt.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function Yt(t,r=0){return(A[t[r+0]]+A[t[r+1]]+A[t[r+2]]+A[t[r+3]]+"-"+A[t[r+4]]+A[t[r+5]]+"-"+A[t[r+6]]+A[t[r+7]]+"-"+A[t[r+8]]+A[t[r+9]]+"-"+A[t[r+10]]+A[t[r+11]]+A[t[r+12]]+A[t[r+13]]+A[t[r+14]]+A[t[r+15]]).toLowerCase()}function Zt(t){if(!Ct(t))throw TypeError("Invalid UUID");let r;const e=new Uint8Array(16);return e[0]=(r=parseInt(t.slice(0,8),16))>>>24,e[1]=r>>>16&255,e[2]=r>>>8&255,e[3]=r&255,e[4]=(r=parseInt(t.slice(9,13),16))>>>8,e[5]=r&255,e[6]=(r=parseInt(t.slice(14,18),16))>>>8,e[7]=r&255,e[8]=(r=parseInt(t.slice(19,23),16))>>>8,e[9]=r&255,e[10]=(r=parseInt(t.slice(24,36),16))/1099511627776&255,e[11]=r/4294967296&255,e[12]=r>>>24&255,e[13]=r>>>16&255,e[14]=r>>>8&255,e[15]=r&255,e}function Ft(t){t=unescape(encodeURIComponent(t));const r=[];for(let e=0;e>>32-r}function zt(t){const r=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;O=E,E=g,g=st(_,30)>>>0,_=h,h=D}e[0]=e[0]+h>>>0,e[1]=e[1]+_>>>0,e[2]=e[2]+g>>>0,e[3]=e[3]+E>>>0,e[4]=e[4]+O>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}const Gt=Ut("v5",80,zt),Kt=Gt;var ot=function(){var t=function(v,n,s,d){for(s=s||{},d=v.length;d--;s[v[d]]=n);return s},r=[1,2],e=[1,5],a=[6,9,11,23,25,27,29,30,31,51],c=[1,17],p=[1,18],f=[1,19],l=[1,20],h=[1,21],_=[1,22],g=[1,25],E=[1,30],O=[1,31],y=[1,32],M=[1,33],D=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],V=[1,45],z=[30,31,48,49],L=[4,6,9,11,23,25,27,29,30,31,51],R=[44,45,46,47],N=[22,37],T=[1,65],x=[1,64],S=[22,37,39,41],C={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,s,d,u,m,i,X){var o=i.length-1;switch(m){case 1:break;case 3:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 7:case 8:this.$=[];break;case 12:u.addEntity(i[o-4]),u.addEntity(i[o-2]),u.addRelationship(i[o-4],i[o],i[o-2],i[o-3]);break;case 13:u.addEntity(i[o-3]),u.addAttributes(i[o-3],i[o-1]);break;case 14:u.addEntity(i[o-2]);break;case 15:u.addEntity(i[o]);break;case 16:case 17:this.$=i[o].trim(),u.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),u.setAccDescription(this.$);break;case 20:case 43:this.$=i[o];break;case 21:case 41:case 42:this.$=i[o].replace(/"/g,"");break;case 22:case 30:this.$=[i[o]];break;case 23:i[o].push(i[o-1]),this.$=i[o];break;case 24:this.$={attributeType:i[o-1],attributeName:i[o]};break;case 25:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeKeyTypeList:i[o]};break;case 26:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeComment:i[o]};break;case 27:this.$={attributeType:i[o-3],attributeName:i[o-2],attributeKeyTypeList:i[o-1],attributeComment:i[o]};break;case 28:case 29:case 32:this.$=i[o];break;case 31:i[o-2].push(i[o]),this.$=i[o-2];break;case 33:this.$=i[o].replace(/"/g,"");break;case 34:this.$={cardA:i[o],relType:i[o-1],cardB:i[o-2]};break;case 35:this.$=u.Cardinality.ZERO_OR_ONE;break;case 36:this.$=u.Cardinality.ZERO_OR_MORE;break;case 37:this.$=u.Cardinality.ONE_OR_MORE;break;case 38:this.$=u.Cardinality.ONLY_ONE;break;case 39:this.$=u.Identification.NON_IDENTIFYING;break;case 40:this.$=u.Identification.IDENTIFYING;break;case 44:u.parseDirective("%%{","open_directive");break;case 45:u.parseDirective(i[o],"type_directive");break;case 46:i[o]=i[o].trim().replace(/'/g,'"'),u.parseDirective(i[o],"arg_directive");break;case 47:u.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:r,7:3,12:4,51:e},{1:[3]},t(a,[2,3],{5:6}),{3:7,4:r,7:3,12:4,51:e},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},{1:[2,2]},{14:23,15:[1,24],54:g},t([15,54],[2,45]),t(a,[2,8],{1:[2,1]}),t(a,[2,4]),{7:15,10:26,12:4,17:16,23:c,25:p,27:f,29:l,30:h,31:_,51:e},t(a,[2,6]),t(a,[2,7]),t(a,[2,11]),t(a,[2,15],{18:27,42:29,20:[1,28],44:E,45:O,46:y,47:M}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(a,[2,19]),t(D,[2,20]),t(D,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(a,[2,5]),{17:40,30:h,31:_},{21:41,22:[1,42],32:43,33:44,37:V},{43:46,48:[1,47],49:[1,48]},t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),t(z,[2,38]),t(a,[2,16]),t(a,[2,17]),t(a,[2,18]),t(L,[2,9]),{14:49,54:g},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(a,[2,14]),{21:52,22:[2,22],32:43,33:44,37:V},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:E,45:O,46:y,47:M},t(R,[2,39]),t(R,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(a,[2,13]),{22:[2,23]},t(N,[2,24],{35:61,36:62,38:63,40:T,41:x}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(L,[2,10]),t(a,[2,12]),t(a,[2,41]),t(a,[2,42]),t(a,[2,43]),t(N,[2,25],{36:66,39:[1,67],41:x}),t(N,[2,26]),t(S,[2,30]),t(N,[2,33]),t(S,[2,32]),t(N,[2,27]),{38:68,40:T},t(S,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(n,s){if(s.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=s,d}},parse:function(n){var s=this,d=[0],u=[],m=[null],i=[],X=this.table,o="",q=0,lt=0,_t=2,ht=1,gt=i.slice.call(arguments,1),b=Object.create(this.lexer),G={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(G.yy[et]=this.yy[et]);b.setInput(n,G.yy),G.yy.lexer=b,G.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var rt=b.yylloc;i.push(rt);var mt=b.options&&b.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Et(){var F;return F=u.pop()||b.lex()||ht,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=s.symbols_[F]||F),F}for(var I,K,w,it,H={},J,Z,dt,$;;){if(K=d[d.length-1],this.defaultActions[K]?w=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Et()),w=X[K]&&X[K][I]),typeof w>"u"||!w.length||!w[0]){var nt="";$=[];for(J in X[K])this.terminals_[J]&&J>_t&&$.push("'"+this.terminals_[J]+"'");b.showPosition?nt="Parse error on line "+(q+1)+`: `+b.showPosition()+` Expecting `+$.join(", ")+", got '"+(this.terminals_[I]||I)+"'":nt="Parse error on line "+(q+1)+": Unexpected "+(I==ht?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(nt,{text:b.match,token:this.terminals_[I]||I,line:b.yylineno,loc:rt,expected:$})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+I);switch(w[0]){case 1:d.push(I),m.push(b.yytext),i.push(b.yylloc),d.push(w[1]),I=null,lt=b.yyleng,o=b.yytext,q=b.yylineno,rt=b.yylloc;break;case 2:if(Z=this.productions_[w[1]][1],H.$=m[m.length-Z],H._$={first_line:i[i.length-(Z||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(Z||1)].first_column,last_column:i[i.length-1].last_column},mt&&(H._$.range=[i[i.length-(Z||1)].range[0],i[i.length-1].range[1]]),it=this.performAction.apply(H,[o,lt,q,G.yy,w[1],m,i].concat(gt)),typeof it<"u")return it;Z&&(d=d.slice(0,-1*Z*2),m=m.slice(0,-1*Z),i=i.slice(0,-1*Z)),d.push(this.productions_[w[1]][0]),m.push(H.$),i.push(H._$),dt=X[d[d.length-2]][d[d.length-1]],d.push(dt);break;case 3:return!0}}return!0}},B=function(){var v={EOF:1,parseError:function(s,d){if(this.yy.parser)this.yy.parser.parseError(s,d);else throw new Error(s)},setInput:function(n,s){return this.yy=s||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var s=n.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var s=n.length,d=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),s=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/_nuxt/error-404.9527bfb6.js b/_nuxt/error-404.0556730f.js similarity index 97% rename from _nuxt/error-404.9527bfb6.js rename to _nuxt/error-404.0556730f.js index 6055b915e3..d401966215 100644 --- a/_nuxt/error-404.9527bfb6.js +++ b/_nuxt/error-404.0556730f.js @@ -1 +1 @@ -import{k as n,E as a,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as x,i as h}from"./entry.8cfa8efb.js";const m=t=>(x("data-v-8e38b8ef"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=n(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; +import{k as n,E as a,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as x,i as h}from"./entry.363473ce.js";const m=t=>(x("data-v-8e38b8ef"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=n(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; diff --git a/_nuxt/error-500.ad84f558.js b/_nuxt/error-500.599ae020.js similarity index 96% rename from _nuxt/error-500.ad84f558.js rename to _nuxt/error-500.599ae020.js index 780aa1cd1b..90852e2fbd 100644 --- a/_nuxt/error-500.ad84f558.js +++ b/_nuxt/error-500.599ae020.js @@ -1 +1 @@ -import{k as i,E as a,b as r,c as n,e,t as s,p as l,i as d}from"./entry.8cfa8efb.js";const c=t=>(l("data-v-5741bfc2"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(x,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(b,[["__scopeId","data-v-5741bfc2"]]);export{w as default}; +import{k as i,E as a,b as r,c as n,e,t as s,p as l,i as d}from"./entry.363473ce.js";const c=t=>(l("data-v-5741bfc2"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(x,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(b,[["__scopeId","data-v-5741bfc2"]]);export{w as default}; diff --git a/_nuxt/flowDb-52e24d17.7b23ed64.js b/_nuxt/flowDb-52e24d17.7a28c8bc.js similarity index 99% rename from _nuxt/flowDb-52e24d17.7b23ed64.js rename to _nuxt/flowDb-52e24d17.7a28c8bc.js index 6d1b87c40d..60460073c8 100644 --- a/_nuxt/flowDb-52e24d17.7b23ed64.js +++ b/_nuxt/flowDb-52e24d17.7a28c8bc.js @@ -1,4 +1,4 @@ -import{c as w2,v as Ne,s as Oe,g as Pe,a as we,b as Ue,x as Me,y as Ge,e as Ke,l as U2,z as M2,A as je,n as We,i as n2}from"./mermaid.core.6d8597df.js";var O2=function(){var e=function(H1,a,o,T){for(o=o||{},T=H1.length;T--;o[H1[T]]=a);return o},u=[1,9],i=[1,7],n=[1,6],c=[1,8],_=[1,20,21,22,23,38,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],B=[2,10],u1=[1,20],H=[1,21],s1=[1,22],f1=[1,23],Y1=[1,30],Q1=[1,32],X1=[1,33],s2=[1,34],q=[1,62],c1=[1,48],m1=[1,52],o2=[1,36],l2=[1,37],h2=[1,38],A2=[1,39],f2=[1,40],v1=[1,56],V1=[1,63],x1=[1,51],R1=[1,53],L1=[1,55],I1=[1,59],N1=[1,60],p2=[1,41],d2=[1,42],E2=[1,43],b2=[1,44],O1=[1,61],P1=[1,50],w1=[1,54],U1=[1,57],M1=[1,58],G1=[1,49],j2=[1,66],u2=[1,71],Q=[1,20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],p1=[1,75],d1=[1,74],E1=[1,76],k2=[20,21,23,81,82],i1=[1,99],l=[1,104],h=[1,107],A=[1,108],r1=[1,101],f=[1,106],p=[1,109],n1=[1,102],d=[1,114],E=[1,113],b=[1,103],k=[1,105],D=[1,110],g=[1,111],F=[1,112],C=[1,115],S2=[20,21,22,23,81,82],t1=[20,21,22,23,53,81,82],Z=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],Y=[20,21,23],W2=[20,21,23,52,66,67,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],m2=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],i2=[52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],S=[1,150],m=[1,158],v=[1,159],V=[1,160],x=[1,161],R=[1,145],L=[1,146],J=[1,141],$=[1,142],I=[1,153],N=[1,154],O=[1,155],P=[1,156],w=[1,157],U=[1,162],M=[1,163],G=[1,148],K=[1,151],j=[1,147],W=[1,144],v2=[20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],Y2=[1,166],$1=[20,21,22,23,26,52,66,67,92,106,107,110,112,113,123,124,125,126,127,128],y=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,87,88,89,90,91,92,93,96,106,107,110,112,113,114,115,123,124,125,126,127,128],z2=[12,21,22,24],H2=[22,107],b1=[1,251],k1=[1,246],D1=[1,247],g1=[1,255],F1=[1,252],C1=[1,249],_1=[1,248],B1=[1,250],T1=[1,253],y1=[1,254],S1=[1,256],z1=[1,274],Q2=[20,21,23,107],o1=[20,21,22,23,66,67,87,103,106,107,110,111,112,113,114],V2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,MD_STR:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTags:94,textNoTagsToken:95,DEFAULT:96,stylesOpt:97,alphaNum:98,CALLBACKNAME:99,CALLBACKARGS:100,HREF:101,LINK_TARGET:102,HEX:103,numList:104,INTERPOLATE:105,NUM:106,COMMA:107,style:108,styleComponent:109,MINUS:110,UNIT:111,BRKT:112,DOT:113,PCT:114,TAGSTART:115,alphaNumToken:116,idStringToken:117,alphaNumStatement:118,direction_tb:119,direction_bt:120,direction_rl:121,direction_lr:122,PUNCTUATION:123,UNICODE_TEXT:124,PLUS:125,EQUALS:126,MULT:127,UNDERSCORE:128,graphCodeTokens:129,ARROW_CROSS:130,ARROW_POINT:131,ARROW_CIRCLE:132,ARROW_OPEN:133,QUOTE:134,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",85:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"DEFAULT",99:"CALLBACKNAME",100:"CALLBACKARGS",101:"HREF",102:"LINK_TARGET",103:"HEX",105:"INTERPOLATE",106:"NUM",107:"COMMA",110:"MINUS",111:"UNIT",112:"BRKT",113:"DOT",114:"PCT",115:"TAGSTART",119:"direction_tb",120:"direction_bt",121:"direction_rl",122:"direction_lr",123:"PUNCTUATION",124:"UNICODE_TEXT",125:"PLUS",126:"EQUALS",127:"MULT",128:"UNDERSCORE",130:"ARROW_CROSS",131:"ARROW_POINT",132:"ARROW_CIRCLE",133:"ARROW_OPEN",134:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[39,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[94,1],[94,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[104,1],[104,3],[97,1],[97,3],[108,1],[108,2],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[95,1],[95,1],[95,1],[95,1],[54,1],[54,2],[98,1],[98,2],[118,1],[118,1],[118,1],[118,1],[43,1],[43,1],[43,1],[43,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1]],performAction:function(a,o,T,r,X,t,r2){var s=t.length-1;switch(X){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(t[s],"type_directive");break;case 7:t[s]=t[s].trim().replace(/'/g,'"'),r.parseDirective(t[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 12:case 97:case 153:case 155:case 156:this.$=t[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(t[s-1]),this.$=t[s-1];break;case 35:this.$=t[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 42:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 43:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 45:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 46:case 47:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 51:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 52:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 53:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 54:this.$={stmt:t[s],nodes:t[s]};break;case 55:this.$=[t[s]];break;case 56:this.$=t[s-4].concat(t[s]);break;case 57:this.$=[t[s-2]],r.setClass(t[s-2],t[s]);break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 60:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 61:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 64:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 67:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 68:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 69:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 70:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 71:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 72:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 73:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 74:this.$=t[s],r.addVertex(t[s]);break;case 75:t[s-1].text=t[s],this.$=t[s-1];break;case 76:case 77:t[s-2].text=t[s-1],this.$=t[s-2];break;case 78:this.$=t[s];break;case 79:var l1=r.destructLink(t[s],t[s-2]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length,text:t[s-1]};break;case 80:var l1=r.destructLink(t[s]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length};break;case 81:this.$=t[s-1];break;case 82:this.$={text:t[s],type:"text"};break;case 83:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 84:this.$={text:t[s],type:"text"};break;case 85:this.$={text:t[s],type:"markdown"};break;case 98:case 154:this.$=t[s-1]+""+t[s];break;case 99:case 100:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 101:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 102:case 110:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 103:case 111:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 104:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 105:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:case 112:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 107:case 113:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 108:case 114:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 109:case 115:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 116:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 117:case 119:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 118:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 120:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 121:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 122:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 123:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 124:case 126:this.$=[t[s]];break;case 125:case 127:t[s-2].push(t[s]),this.$=t[s-2];break;case 129:this.$=t[s-1]+t[s];break;case 151:this.$=t[s];break;case 152:this.$=t[s-1]+""+t[s];break;case 157:this.$="v";break;case 158:this.$="-";break;case 159:this.$={stmt:"dir",value:"TB"};break;case 160:this.$={stmt:"dir",value:"BT"};break;case 161:this.$={stmt:"dir",value:"RL"};break;case 162:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},e(_,B,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:n,24:c},{16:15,21:i,22:n,24:c},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{8:64,10:[1,65],15:j2},e([10,15],[2,6]),e(_,[2,17]),e(_,[2,18]),e(_,[2,19]),{20:[1,68],21:[1,69],22:u2,27:67,30:70},e(Q,[2,11]),e(Q,[2,12]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),{9:72,20:p1,21:d1,23:E1,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:p1,21:d1,23:E1},{9:81,20:p1,21:d1,23:E1},{9:82,20:p1,21:d1,23:E1},{9:83,20:p1,21:d1,23:E1},{9:84,20:p1,21:d1,23:E1},{9:86,20:p1,21:d1,22:[1,85],23:E1},e(Q,[2,44]),{45:[1,87]},{47:[1,88]},e(Q,[2,47]),e(k2,[2,54],{30:89,22:u2}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:i1,52:l,66:h,67:A,84:[1,97],92:r1,98:96,99:[1,94],101:[1,95],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Q,[2,159]),e(Q,[2,160]),e(Q,[2,161]),e(Q,[2,162]),e(S2,[2,55],{53:[1,116]}),e(t1,[2,74],{117:129,40:[1,117],52:q,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:c1,67:m1,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),e(Z,[2,151]),e(Z,[2,176]),e(Z,[2,177]),e(Z,[2,178]),e(Z,[2,179]),e(Z,[2,180]),e(Z,[2,181]),e(Z,[2,182]),e(Z,[2,183]),e(Z,[2,184]),e(Z,[2,185]),e(Z,[2,186]),e(Z,[2,187]),e(Z,[2,188]),e(Z,[2,189]),e(Z,[2,190]),e(Z,[2,191]),{9:130,20:p1,21:d1,23:E1},{11:131,14:[1,132]},e(Y,[2,8]),e(_,[2,20]),e(_,[2,26]),e(_,[2,27]),{21:[1,133]},e(W2,[2,34],{30:134,22:u2}),e(Q,[2,35]),{50:135,51:45,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(m2,[2,48]),e(m2,[2,49]),e(m2,[2,50]),e(i2,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:S,24:m,26:v,38:V,39:139,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e([52,66,67,68,80,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,80]),e(Q,[2,36]),e(Q,[2,37]),e(Q,[2,38]),e(Q,[2,39]),e(Q,[2,40]),{22:S,24:m,26:v,38:V,39:164,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:165}),e(Q,[2,45]),e(Q,[2,46]),e(k2,[2,53],{52:Y2}),{26:i1,52:l,66:h,67:A,92:r1,98:167,103:[1,168],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{96:[1,169],104:170,106:[1,171]},{26:i1,52:l,66:h,67:A,92:r1,96:[1,172],98:173,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:174,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,102],{22:[1,175],100:[1,176]}),e(Y,[2,106],{22:[1,177]}),e(Y,[2,110],{116:100,118:179,22:[1,178],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,112],{22:[1,180]}),e($1,[2,153]),e($1,[2,155]),e($1,[2,156]),e($1,[2,157]),e($1,[2,158]),e(y,[2,163]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,168]),e(y,[2,169]),e(y,[2,170]),e(y,[2,171]),e(y,[2,172]),e(y,[2,173]),e(y,[2,174]),e(y,[2,175]),{52:q,54:181,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:S,24:m,26:v,38:V,39:182,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:183,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:185,42:x,52:l,57:[1,184],66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:186,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:187,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:188,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{66:[1,189]},{22:S,24:m,26:v,38:V,39:190,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:191,42:x,52:l,66:h,67:A,71:[1,192],73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:193,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:194,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:195,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(Z,[2,152]),e(z2,[2,3]),{8:196,15:j2},{15:[2,7]},e(_,[2,28]),e(W2,[2,33]),e(k2,[2,51],{30:197,22:u2}),e(i2,[2,75],{22:[1,198]}),{22:[1,199]},{22:S,24:m,26:v,38:V,39:200,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,81:L,82:[1,201],83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(y,[2,82]),e(y,[2,84]),e(y,[2,85]),e(y,[2,141]),e(y,[2,142]),e(y,[2,143]),e(y,[2,144]),e(y,[2,145]),e(y,[2,146]),e(y,[2,147]),e(y,[2,148]),e(y,[2,149]),e(y,[2,150]),e(y,[2,86]),e(y,[2,87]),e(y,[2,88]),e(y,[2,89]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),{9:204,20:p1,21:d1,22:S,23:E1,24:m,26:v,38:V,40:[1,203],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,205],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:u2,30:206},{22:[1,207],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,208]},{22:[1,209]},{22:[1,210],107:[1,211]},e(H2,[2,124]),{22:[1,212]},{22:[1,213],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,214],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{84:[1,215]},e(Y,[2,104],{22:[1,216]}),{84:[1,217],102:[1,218]},{84:[1,219]},e($1,[2,154]),{84:[1,220],102:[1,221]},e(S2,[2,57],{117:129,52:q,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),{22:S,24:m,26:v,38:V,41:[1,222],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,56:[1,223],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:224,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,225],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,60:[1,226],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,62:[1,227],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,64:[1,228],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{67:[1,229]},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,70:[1,230],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,231],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:232,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,41:[1,233],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,234],77:[1,235],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,237],77:[1,236],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{9:238,20:p1,21:d1,23:E1},e(k2,[2,52],{52:Y2}),e(i2,[2,77]),e(i2,[2,76]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,68:[1,239],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(i2,[2,79]),e(y,[2,83]),{22:S,24:m,26:v,38:V,39:240,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:241}),e(Q,[2,43]),{51:242,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:243,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:257,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:258,103:F1,105:[1,259],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:260,103:F1,105:[1,261],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{106:[1,262]},{22:b1,66:k1,67:D1,87:g1,97:263,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:264,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{26:i1,52:l,66:h,67:A,92:r1,98:265,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,103]),{84:[1,266]},e(Y,[2,107],{22:[1,267]}),e(Y,[2,108]),e(Y,[2,111]),e(Y,[2,113],{22:[1,268]}),e(Y,[2,114]),e(t1,[2,58]),e(t1,[2,59]),{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,269],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,66]),e(t1,[2,61]),e(t1,[2,62]),e(t1,[2,63]),{66:[1,270]},e(t1,[2,65]),e(t1,[2,67]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,271],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,69]),e(t1,[2,70]),e(t1,[2,72]),e(t1,[2,71]),e(t1,[2,73]),e(z2,[2,4]),e([22,52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,81]),{22:S,24:m,26:v,38:V,41:[1,272],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,273],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(S2,[2,56]),e(Y,[2,116],{107:z1}),e(Q2,[2,126],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(o1,[2,128]),e(o1,[2,130]),e(o1,[2,131]),e(o1,[2,132]),e(o1,[2,133]),e(o1,[2,134]),e(o1,[2,135]),e(o1,[2,136]),e(o1,[2,137]),e(o1,[2,138]),e(o1,[2,139]),e(o1,[2,140]),e(Y,[2,117],{107:z1}),e(Y,[2,118],{107:z1}),{22:[1,276]},e(Y,[2,119],{107:z1}),{22:[1,277]},e(H2,[2,125]),e(Y,[2,99],{107:z1}),e(Y,[2,100],{107:z1}),e(Y,[2,101],{116:100,118:179,26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,105]),{102:[1,278]},{102:[1,279]},{58:[1,280]},{68:[1,281]},{72:[1,282]},{9:283,20:p1,21:d1,23:E1},e(Q,[2,42]),{22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,108:284,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(o1,[2,129]),{26:i1,52:l,66:h,67:A,92:r1,98:285,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:286,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,109]),e(Y,[2,115]),e(t1,[2,60]),{22:S,24:m,26:v,38:V,39:287,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,68]),e(v2,B,{17:288}),e(Q2,[2,127],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(Y,[2,122],{116:100,118:179,22:[1,289],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,123],{116:100,118:179,22:[1,290],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),{22:S,24:m,26:v,38:V,41:[1,291],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,292],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:293,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:294,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(t1,[2,64]),e(Q,[2,41]),e(Y,[2,120],{107:z1}),e(Y,[2,121],{107:z1})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var T=new Error(a);throw T.hash=o,T}},parse:function(a){var o=this,T=[0],r=[],X=[null],t=[],r2=this.table,s="",l1=0,X2=0,xe=2,q2=1,Re=t.slice.call(arguments,1),e1=Object.create(this.lexer),q1={yy:{}};for(var R2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R2)&&(q1.yy[R2]=this.yy[R2]);e1.setInput(a,q1.yy),q1.yy.lexer=e1,q1.yy.parser=this,typeof e1.yylloc>"u"&&(e1.yylloc={});var L2=e1.yylloc;t.push(L2);var Le=e1.options&&e1.options.ranges;typeof q1.yy.parseError=="function"?this.parseError=q1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var j1;return j1=r.pop()||e1.lex()||q2,typeof j1!="number"&&(j1 instanceof Array&&(r=j1,j1=r.pop()),j1=o.symbols_[j1]||j1),j1}for(var a1,Z1,h1,I2,e2={},D2,K1,Z2,g2;;){if(Z1=T[T.length-1],this.defaultActions[Z1]?h1=this.defaultActions[Z1]:((a1===null||typeof a1>"u")&&(a1=Ie()),h1=r2[Z1]&&r2[Z1][a1]),typeof h1>"u"||!h1.length||!h1[0]){var N2="";g2=[];for(D2 in r2[Z1])this.terminals_[D2]&&D2>xe&&g2.push("'"+this.terminals_[D2]+"'");e1.showPosition?N2="Parse error on line "+(l1+1)+`: +import{c as w2,v as Ne,s as Oe,g as Pe,a as we,b as Ue,x as Me,y as Ge,e as Ke,l as U2,z as M2,A as je,n as We,i as n2}from"./mermaid.core.bd97f718.js";var O2=function(){var e=function(H1,a,o,T){for(o=o||{},T=H1.length;T--;o[H1[T]]=a);return o},u=[1,9],i=[1,7],n=[1,6],c=[1,8],_=[1,20,21,22,23,38,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],B=[2,10],u1=[1,20],H=[1,21],s1=[1,22],f1=[1,23],Y1=[1,30],Q1=[1,32],X1=[1,33],s2=[1,34],q=[1,62],c1=[1,48],m1=[1,52],o2=[1,36],l2=[1,37],h2=[1,38],A2=[1,39],f2=[1,40],v1=[1,56],V1=[1,63],x1=[1,51],R1=[1,53],L1=[1,55],I1=[1,59],N1=[1,60],p2=[1,41],d2=[1,42],E2=[1,43],b2=[1,44],O1=[1,61],P1=[1,50],w1=[1,54],U1=[1,57],M1=[1,58],G1=[1,49],j2=[1,66],u2=[1,71],Q=[1,20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],p1=[1,75],d1=[1,74],E1=[1,76],k2=[20,21,23,81,82],i1=[1,99],l=[1,104],h=[1,107],A=[1,108],r1=[1,101],f=[1,106],p=[1,109],n1=[1,102],d=[1,114],E=[1,113],b=[1,103],k=[1,105],D=[1,110],g=[1,111],F=[1,112],C=[1,115],S2=[20,21,22,23,81,82],t1=[20,21,22,23,53,81,82],Z=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],Y=[20,21,23],W2=[20,21,23,52,66,67,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],m2=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],i2=[52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],S=[1,150],m=[1,158],v=[1,159],V=[1,160],x=[1,161],R=[1,145],L=[1,146],J=[1,141],$=[1,142],I=[1,153],N=[1,154],O=[1,155],P=[1,156],w=[1,157],U=[1,162],M=[1,163],G=[1,148],K=[1,151],j=[1,147],W=[1,144],v2=[20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],Y2=[1,166],$1=[20,21,22,23,26,52,66,67,92,106,107,110,112,113,123,124,125,126,127,128],y=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,87,88,89,90,91,92,93,96,106,107,110,112,113,114,115,123,124,125,126,127,128],z2=[12,21,22,24],H2=[22,107],b1=[1,251],k1=[1,246],D1=[1,247],g1=[1,255],F1=[1,252],C1=[1,249],_1=[1,248],B1=[1,250],T1=[1,253],y1=[1,254],S1=[1,256],z1=[1,274],Q2=[20,21,23,107],o1=[20,21,22,23,66,67,87,103,106,107,110,111,112,113,114],V2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,MD_STR:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTags:94,textNoTagsToken:95,DEFAULT:96,stylesOpt:97,alphaNum:98,CALLBACKNAME:99,CALLBACKARGS:100,HREF:101,LINK_TARGET:102,HEX:103,numList:104,INTERPOLATE:105,NUM:106,COMMA:107,style:108,styleComponent:109,MINUS:110,UNIT:111,BRKT:112,DOT:113,PCT:114,TAGSTART:115,alphaNumToken:116,idStringToken:117,alphaNumStatement:118,direction_tb:119,direction_bt:120,direction_rl:121,direction_lr:122,PUNCTUATION:123,UNICODE_TEXT:124,PLUS:125,EQUALS:126,MULT:127,UNDERSCORE:128,graphCodeTokens:129,ARROW_CROSS:130,ARROW_POINT:131,ARROW_CIRCLE:132,ARROW_OPEN:133,QUOTE:134,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",85:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"DEFAULT",99:"CALLBACKNAME",100:"CALLBACKARGS",101:"HREF",102:"LINK_TARGET",103:"HEX",105:"INTERPOLATE",106:"NUM",107:"COMMA",110:"MINUS",111:"UNIT",112:"BRKT",113:"DOT",114:"PCT",115:"TAGSTART",119:"direction_tb",120:"direction_bt",121:"direction_rl",122:"direction_lr",123:"PUNCTUATION",124:"UNICODE_TEXT",125:"PLUS",126:"EQUALS",127:"MULT",128:"UNDERSCORE",130:"ARROW_CROSS",131:"ARROW_POINT",132:"ARROW_CIRCLE",133:"ARROW_OPEN",134:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[39,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[94,1],[94,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[104,1],[104,3],[97,1],[97,3],[108,1],[108,2],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[95,1],[95,1],[95,1],[95,1],[54,1],[54,2],[98,1],[98,2],[118,1],[118,1],[118,1],[118,1],[43,1],[43,1],[43,1],[43,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1]],performAction:function(a,o,T,r,X,t,r2){var s=t.length-1;switch(X){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(t[s],"type_directive");break;case 7:t[s]=t[s].trim().replace(/'/g,'"'),r.parseDirective(t[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 12:case 97:case 153:case 155:case 156:this.$=t[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(t[s-1]),this.$=t[s-1];break;case 35:this.$=t[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 42:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 43:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 45:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 46:case 47:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 51:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 52:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 53:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 54:this.$={stmt:t[s],nodes:t[s]};break;case 55:this.$=[t[s]];break;case 56:this.$=t[s-4].concat(t[s]);break;case 57:this.$=[t[s-2]],r.setClass(t[s-2],t[s]);break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 60:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 61:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 64:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 67:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 68:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 69:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 70:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 71:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 72:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 73:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 74:this.$=t[s],r.addVertex(t[s]);break;case 75:t[s-1].text=t[s],this.$=t[s-1];break;case 76:case 77:t[s-2].text=t[s-1],this.$=t[s-2];break;case 78:this.$=t[s];break;case 79:var l1=r.destructLink(t[s],t[s-2]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length,text:t[s-1]};break;case 80:var l1=r.destructLink(t[s]);this.$={type:l1.type,stroke:l1.stroke,length:l1.length};break;case 81:this.$=t[s-1];break;case 82:this.$={text:t[s],type:"text"};break;case 83:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 84:this.$={text:t[s],type:"text"};break;case 85:this.$={text:t[s],type:"markdown"};break;case 98:case 154:this.$=t[s-1]+""+t[s];break;case 99:case 100:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 101:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 102:case 110:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 103:case 111:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 104:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 105:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:case 112:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 107:case 113:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 108:case 114:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 109:case 115:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 116:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 117:case 119:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 118:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 120:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 121:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 122:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 123:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 124:case 126:this.$=[t[s]];break;case 125:case 127:t[s-2].push(t[s]),this.$=t[s-2];break;case 129:this.$=t[s-1]+t[s];break;case 151:this.$=t[s];break;case 152:this.$=t[s-1]+""+t[s];break;case 157:this.$="v";break;case 158:this.$="-";break;case 159:this.$={stmt:"dir",value:"TB"};break;case 160:this.$={stmt:"dir",value:"BT"};break;case 161:this.$={stmt:"dir",value:"RL"};break;case 162:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:u,16:4,21:i,22:n,24:c},e(_,B,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:n,24:c},{16:15,21:i,22:n,24:c},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{8:64,10:[1,65],15:j2},e([10,15],[2,6]),e(_,[2,17]),e(_,[2,18]),e(_,[2,19]),{20:[1,68],21:[1,69],22:u2,27:67,30:70},e(Q,[2,11]),e(Q,[2,12]),e(Q,[2,13]),e(Q,[2,14]),e(Q,[2,15]),e(Q,[2,16]),{9:72,20:p1,21:d1,23:E1,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:p1,21:d1,23:E1},{9:81,20:p1,21:d1,23:E1},{9:82,20:p1,21:d1,23:E1},{9:83,20:p1,21:d1,23:E1},{9:84,20:p1,21:d1,23:E1},{9:86,20:p1,21:d1,22:[1,85],23:E1},e(Q,[2,44]),{45:[1,87]},{47:[1,88]},e(Q,[2,47]),e(k2,[2,54],{30:89,22:u2}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:i1,52:l,66:h,67:A,84:[1,97],92:r1,98:96,99:[1,94],101:[1,95],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Q,[2,159]),e(Q,[2,160]),e(Q,[2,161]),e(Q,[2,162]),e(S2,[2,55],{53:[1,116]}),e(t1,[2,74],{117:129,40:[1,117],52:q,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:c1,67:m1,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),e(Z,[2,151]),e(Z,[2,176]),e(Z,[2,177]),e(Z,[2,178]),e(Z,[2,179]),e(Z,[2,180]),e(Z,[2,181]),e(Z,[2,182]),e(Z,[2,183]),e(Z,[2,184]),e(Z,[2,185]),e(Z,[2,186]),e(Z,[2,187]),e(Z,[2,188]),e(Z,[2,189]),e(Z,[2,190]),e(Z,[2,191]),{9:130,20:p1,21:d1,23:E1},{11:131,14:[1,132]},e(Y,[2,8]),e(_,[2,20]),e(_,[2,26]),e(_,[2,27]),{21:[1,133]},e(W2,[2,34],{30:134,22:u2}),e(Q,[2,35]),{50:135,51:45,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(m2,[2,48]),e(m2,[2,49]),e(m2,[2,50]),e(i2,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:S,24:m,26:v,38:V,39:139,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e([52,66,67,68,80,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,80]),e(Q,[2,36]),e(Q,[2,37]),e(Q,[2,38]),e(Q,[2,39]),e(Q,[2,40]),{22:S,24:m,26:v,38:V,39:164,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:165}),e(Q,[2,45]),e(Q,[2,46]),e(k2,[2,53],{52:Y2}),{26:i1,52:l,66:h,67:A,92:r1,98:167,103:[1,168],106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{96:[1,169],104:170,106:[1,171]},{26:i1,52:l,66:h,67:A,92:r1,96:[1,172],98:173,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:174,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,102],{22:[1,175],100:[1,176]}),e(Y,[2,106],{22:[1,177]}),e(Y,[2,110],{116:100,118:179,22:[1,178],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,112],{22:[1,180]}),e($1,[2,153]),e($1,[2,155]),e($1,[2,156]),e($1,[2,157]),e($1,[2,158]),e(y,[2,163]),e(y,[2,164]),e(y,[2,165]),e(y,[2,166]),e(y,[2,167]),e(y,[2,168]),e(y,[2,169]),e(y,[2,170]),e(y,[2,171]),e(y,[2,172]),e(y,[2,173]),e(y,[2,174]),e(y,[2,175]),{52:q,54:181,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:S,24:m,26:v,38:V,39:182,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:183,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:185,42:x,52:l,57:[1,184],66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:186,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:187,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:188,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{66:[1,189]},{22:S,24:m,26:v,38:V,39:190,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:191,42:x,52:l,66:h,67:A,71:[1,192],73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:193,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:194,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:195,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(Z,[2,152]),e(z2,[2,3]),{8:196,15:j2},{15:[2,7]},e(_,[2,28]),e(W2,[2,33]),e(k2,[2,51],{30:197,22:u2}),e(i2,[2,75],{22:[1,198]}),{22:[1,199]},{22:S,24:m,26:v,38:V,39:200,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,81:L,82:[1,201],83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(y,[2,82]),e(y,[2,84]),e(y,[2,85]),e(y,[2,141]),e(y,[2,142]),e(y,[2,143]),e(y,[2,144]),e(y,[2,145]),e(y,[2,146]),e(y,[2,147]),e(y,[2,148]),e(y,[2,149]),e(y,[2,150]),e(y,[2,86]),e(y,[2,87]),e(y,[2,88]),e(y,[2,89]),e(y,[2,90]),e(y,[2,91]),e(y,[2,92]),e(y,[2,93]),e(y,[2,94]),e(y,[2,95]),e(y,[2,96]),{9:204,20:p1,21:d1,22:S,23:E1,24:m,26:v,38:V,40:[1,203],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,205],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:u2,30:206},{22:[1,207],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,208]},{22:[1,209]},{22:[1,210],107:[1,211]},e(H2,[2,124]),{22:[1,212]},{22:[1,213],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{22:[1,214],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,116:100,118:179,123:b,124:k,125:D,126:g,127:F,128:C},{84:[1,215]},e(Y,[2,104],{22:[1,216]}),{84:[1,217],102:[1,218]},{84:[1,219]},e($1,[2,154]),{84:[1,220],102:[1,221]},e(S2,[2,57],{117:129,52:q,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1}),{22:S,24:m,26:v,38:V,41:[1,222],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,56:[1,223],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:224,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,225],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,60:[1,226],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,62:[1,227],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,64:[1,228],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{67:[1,229]},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,70:[1,230],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,231],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,39:232,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,41:[1,233],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,234],77:[1,235],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,73:R,75:[1,237],77:[1,236],81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{9:238,20:p1,21:d1,23:E1},e(k2,[2,52],{52:Y2}),e(i2,[2,77]),e(i2,[2,76]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,68:[1,239],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(i2,[2,79]),e(y,[2,83]),{22:S,24:m,26:v,38:V,39:240,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(v2,B,{17:241}),e(Q,[2,43]),{51:242,52:q,54:46,66:c1,67:m1,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:243,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:257,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:258,103:F1,105:[1,259],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:260,103:F1,105:[1,261],106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{106:[1,262]},{22:b1,66:k1,67:D1,87:g1,97:263,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:264,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{26:i1,52:l,66:h,67:A,92:r1,98:265,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,103]),{84:[1,266]},e(Y,[2,107],{22:[1,267]}),e(Y,[2,108]),e(Y,[2,111]),e(Y,[2,113],{22:[1,268]}),e(Y,[2,114]),e(t1,[2,58]),e(t1,[2,59]),{22:S,24:m,26:v,38:V,42:x,52:l,58:[1,269],66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,66]),e(t1,[2,61]),e(t1,[2,62]),e(t1,[2,63]),{66:[1,270]},e(t1,[2,65]),e(t1,[2,67]),{22:S,24:m,26:v,38:V,42:x,52:l,66:h,67:A,72:[1,271],73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,69]),e(t1,[2,70]),e(t1,[2,72]),e(t1,[2,71]),e(t1,[2,73]),e(z2,[2,4]),e([22,52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,81]),{22:S,24:m,26:v,38:V,41:[1,272],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,273],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},e(S2,[2,56]),e(Y,[2,116],{107:z1}),e(Q2,[2,126],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(o1,[2,128]),e(o1,[2,130]),e(o1,[2,131]),e(o1,[2,132]),e(o1,[2,133]),e(o1,[2,134]),e(o1,[2,135]),e(o1,[2,136]),e(o1,[2,137]),e(o1,[2,138]),e(o1,[2,139]),e(o1,[2,140]),e(Y,[2,117],{107:z1}),e(Y,[2,118],{107:z1}),{22:[1,276]},e(Y,[2,119],{107:z1}),{22:[1,277]},e(H2,[2,125]),e(Y,[2,99],{107:z1}),e(Y,[2,100],{107:z1}),e(Y,[2,101],{116:100,118:179,26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,105]),{102:[1,278]},{102:[1,279]},{58:[1,280]},{68:[1,281]},{72:[1,282]},{9:283,20:p1,21:d1,23:E1},e(Q,[2,42]),{22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,108:284,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(o1,[2,129]),{26:i1,52:l,66:h,67:A,92:r1,98:285,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},{26:i1,52:l,66:h,67:A,92:r1,98:286,106:f,107:p,110:n1,112:d,113:E,116:100,118:98,123:b,124:k,125:D,126:g,127:F,128:C},e(Y,[2,109]),e(Y,[2,115]),e(t1,[2,60]),{22:S,24:m,26:v,38:V,39:287,42:x,52:l,66:h,67:A,73:R,81:L,83:140,84:J,85:$,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},e(t1,[2,68]),e(v2,B,{17:288}),e(Q2,[2,127],{109:275,22:b1,66:k1,67:D1,87:g1,103:F1,106:C1,110:_1,111:B1,112:T1,113:y1,114:S1}),e(Y,[2,122],{116:100,118:179,22:[1,289],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),e(Y,[2,123],{116:100,118:179,22:[1,290],26:i1,52:l,66:h,67:A,92:r1,106:f,107:p,110:n1,112:d,113:E,123:b,124:k,125:D,126:g,127:F,128:C}),{22:S,24:m,26:v,38:V,41:[1,291],42:x,52:l,66:h,67:A,73:R,81:L,83:202,86:152,87:I,88:N,89:O,90:P,91:w,92:U,93:M,95:143,96:G,106:f,107:p,110:K,112:d,113:E,114:j,115:W,116:149,123:b,124:k,125:D,126:g,127:F,128:C},{18:18,19:19,20:u1,21:H,22:s1,23:f1,32:24,33:25,34:26,35:27,36:28,37:29,38:Y1,42:[1,292],43:31,44:Q1,46:X1,48:s2,50:35,51:45,52:q,54:46,66:c1,67:m1,87:o2,88:l2,89:h2,90:A2,91:f2,92:v1,96:V1,106:x1,107:R1,110:L1,112:I1,113:N1,117:47,119:p2,120:d2,121:E2,122:b2,123:O1,124:P1,125:w1,126:U1,127:M1,128:G1},{22:b1,66:k1,67:D1,87:g1,97:293,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},{22:b1,66:k1,67:D1,87:g1,97:294,103:F1,106:C1,108:244,109:245,110:_1,111:B1,112:T1,113:y1,114:S1},e(t1,[2,64]),e(Q,[2,41]),e(Y,[2,120],{107:z1}),e(Y,[2,121],{107:z1})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var T=new Error(a);throw T.hash=o,T}},parse:function(a){var o=this,T=[0],r=[],X=[null],t=[],r2=this.table,s="",l1=0,X2=0,xe=2,q2=1,Re=t.slice.call(arguments,1),e1=Object.create(this.lexer),q1={yy:{}};for(var R2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R2)&&(q1.yy[R2]=this.yy[R2]);e1.setInput(a,q1.yy),q1.yy.lexer=e1,q1.yy.parser=this,typeof e1.yylloc>"u"&&(e1.yylloc={});var L2=e1.yylloc;t.push(L2);var Le=e1.options&&e1.options.ranges;typeof q1.yy.parseError=="function"?this.parseError=q1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ie(){var j1;return j1=r.pop()||e1.lex()||q2,typeof j1!="number"&&(j1 instanceof Array&&(r=j1,j1=r.pop()),j1=o.symbols_[j1]||j1),j1}for(var a1,Z1,h1,I2,e2={},D2,K1,Z2,g2;;){if(Z1=T[T.length-1],this.defaultActions[Z1]?h1=this.defaultActions[Z1]:((a1===null||typeof a1>"u")&&(a1=Ie()),h1=r2[Z1]&&r2[Z1][a1]),typeof h1>"u"||!h1.length||!h1[0]){var N2="";g2=[];for(D2 in r2[Z1])this.terminals_[D2]&&D2>xe&&g2.push("'"+this.terminals_[D2]+"'");e1.showPosition?N2="Parse error on line "+(l1+1)+`: `+e1.showPosition()+` Expecting `+g2.join(", ")+", got '"+(this.terminals_[a1]||a1)+"'":N2="Parse error on line "+(l1+1)+": Unexpected "+(a1==q2?"end of input":"'"+(this.terminals_[a1]||a1)+"'"),this.parseError(N2,{text:e1.match,token:this.terminals_[a1]||a1,line:e1.yylineno,loc:L2,expected:g2})}if(h1[0]instanceof Array&&h1.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z1+", token: "+a1);switch(h1[0]){case 1:T.push(a1),X.push(e1.yytext),t.push(e1.yylloc),T.push(h1[1]),a1=null,X2=e1.yyleng,s=e1.yytext,l1=e1.yylineno,L2=e1.yylloc;break;case 2:if(K1=this.productions_[h1[1]][1],e2.$=X[X.length-K1],e2._$={first_line:t[t.length-(K1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(K1||1)].first_column,last_column:t[t.length-1].last_column},Le&&(e2._$.range=[t[t.length-(K1||1)].range[0],t[t.length-1].range[1]]),I2=this.performAction.apply(e2,[s,X2,l1,q1.yy,h1[1],X,t].concat(Re)),typeof I2<"u")return I2;K1&&(T=T.slice(0,-1*K1*2),X=X.slice(0,-1*K1),t=t.slice(0,-1*K1)),T.push(this.productions_[h1[1]][0]),X.push(e2.$),t.push(e2._$),Z2=r2[T[T.length-2]][T[T.length-1]],T.push(Z2);break;case 3:return!0}}return!0}},Ve=function(){var H1={EOF:1,parseError:function(o,T){if(this.yy.parser)this.yy.parser.parseError(o,T);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,T=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===r.length?this.yylloc.first_column:0)+r[r.length-T.length].length-T[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/_nuxt/flowDiagram-46a15f6f.29cc09a3.js b/_nuxt/flowDiagram-46a15f6f.b33a89eb.js similarity index 97% rename from _nuxt/flowDiagram-46a15f6f.29cc09a3.js rename to _nuxt/flowDiagram-46a15f6f.b33a89eb.js index 3b70de04c3..63aa5c96fc 100644 --- a/_nuxt/flowDiagram-46a15f6f.29cc09a3.js +++ b/_nuxt/flowDiagram-46a15f6f.b33a89eb.js @@ -1,4 +1,4 @@ -import{p as St,f as W}from"./flowDb-52e24d17.7b23ed64.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as D,f as tt,G as Nt}from"./layout.e490e9ef.js";import{i as x,p as G,q as z,r as et,c as J,n as rt,l as I,t as V,u as At}from"./mermaid.core.6d8597df.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It}from"./styles-26373982.b5ae6569.js";import{l as Bt}from"./line.dc626553.js";import"./createText-1f5f8f92.2cd7eed0.js";import{s as Mt}from"./selectAll.3bc18744.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./index-5219d011.c6c2c006.js";import"./edges-2e77835f.ce02d1cb.js";import"./svgDraw-2526cba0.08c6d93d.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Pt(r,e){return fetch(r,e).then(Dt)}function Rt(r){return(e,t)=>Pt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Gt=Rt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` +import{p as St,f as W}from"./flowDb-52e24d17.7a28c8bc.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as D,f as tt,G as Nt}from"./layout.11303474.js";import{i as x,p as G,q as z,r as et,c as J,n as rt,l as I,t as V,u as At}from"./mermaid.core.bd97f718.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It}from"./styles-26373982.92ac74e5.js";import{l as Bt}from"./line.2cebc606.js";import"./createText-1f5f8f92.9af55188.js";import{s as Mt}from"./selectAll.41f6743d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./index-5219d011.3b2aa214.js";import"./edges-2e77835f.ec894958.js";import"./svgDraw-2526cba0.1cdd2cec.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Pt(r,e){return fetch(r,e).then(Dt)}function Rt(r){return(e,t)=>Pt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Gt=Rt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` `),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,m){var f=p.x-t.x,y=p.y-t.y,k=Math.sqrt(f*f+y*y),B=m.x-t.x,E=m.y-t.y,U=Math.sqrt(B*B+E*E);return kMath.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var Q={rect:ie,ellipse:oe,circle:le,diamond:ce};function se(r){Q=r}function ie(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function oe(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return lt(t,n,a,i)},s}function le(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ae(t,n,s)},a}function ce(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function de(){var r=function(e,t){fe(t);var n=P(e,"output"),a=P(n,"clusters"),s=P(n,"edgePaths"),i=X(P(n,"edgeLabels"),t),o=q(P(n,"nodes"),t,Q);Tt(t),re(o,t),ee(i,t),F(s,t,Y);var c=H(a,t);te(c,t),pe(t)};return r.createNodes=function(e){return arguments.length?(jt(e),r):q},r.createClusters=function(e){return arguments.length?(Xt(e),r):H},r.createEdgeLabels=function(e){return arguments.length?(Ft(e),r):X},r.createEdgePaths=function(e){return arguments.length?(qt(e),r):F},r.shapes=function(e){return arguments.length?(se(e),r):Q},r.arrows=function(e){return arguments.length?(Ut(e),r):Y},r}var he={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},ue={arrowhead:"normal",curve:G};function fe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&D(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&D(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&D(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),D(t,he),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),D(t,ue)})}function pe(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function P(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function ct(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function dt(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ht(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ve(r){r.shapes().question=ct,r.shapes().hexagon=dt,r.shapes().stadium=gt,r.shapes().subroutine=mt,r.shapes().cylinder=wt,r.shapes().rect_left_inv_arrow=ht,r.shapes().lean_right=ut,r.shapes().lean_left=ft,r.shapes().trapezoid=pt,r.shapes().inv_trapezoid=vt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:ct}),r({hexagon:dt}),r({stadium:gt}),r({subroutine:mt}),r({cylinder:wt}),r({rect_left_inv_arrow:ht}),r({lean_right:ut}),r({lean_left:ft}),r({trapezoid:pt}),r({inv_trapezoid:vt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const ge={addToRender:ve,addToRenderV2:ye},xt={},me=function(r){const e=Object.keys(r);for(const t of e)xt[t]=r[t]},bt=function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document;Object.keys(r).forEach(function(d){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=z(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(J().flowchart.htmlLabels)){const y={label:u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};p=at(i,y).node(),p.parentNode.removeChild(p)}else{const y=o.createElementNS("http://www.w3.org/2000/svg","text");y.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(rt.lineBreakRegex);for(const B of k){const E=o.createElementNS("http://www.w3.org/2000/svg","tspan");E.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),E.setAttribute("dy","1em"),E.setAttribute("x","1"),E.textContent=B,y.appendChild(E)}p=y}let m=0,f="";switch(l.type){case"round":m=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}I.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:m,ry:m,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})})},kt=function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=z(r.defaultStyle);a=i.style,s=i.labelStyle}r.forEach(function(i){n++;var o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end;const l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=z(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=V(i.interpolate,G):r.defaultInterpolate!==void 0?l.curve=V(r.defaultInterpolate,G):l.curve=V(xt.curve,G),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(J().flowchart.htmlLabels)?(l.labelType="html",l.label=`${i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``)}`):(l.labelType="text",l.label=i.text.replace(rt.lineBreakRegex,` `),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)})},we=function(r,e){I.info("Extracting classes"),e.db.clear();try{return e.parse(r),e.db.getClasses()}catch(t){return I.error(t),{}}},xe=function(r,e,t,n){I.info("Drawing flowchart"),n.db.clear();const{securityLevel:a,flowchart:s}=J();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;try{n.parser.parse(r)}catch{I.debug("Parsing failed")}let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new Nt({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let g=p.length-1;g>=0;g--)u=p[g],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const m=n.db.getVertices();I.warn("Get vertices",m);const f=n.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){u=p[y],Mt("cluster").append("text");for(let g=0;g{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,be.setConf(r.flowchart),W.clear(),W.setGen("gen-1")}};export{Re as diagram}; diff --git a/_nuxt/flowDiagram-v2-8e52592d.b0431b00.js b/_nuxt/flowDiagram-v2-8e52592d.b0431b00.js deleted file mode 100644 index e1b36d21ee..0000000000 --- a/_nuxt/flowDiagram-v2-8e52592d.b0431b00.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,f as o}from"./flowDb-52e24d17.7b23ed64.js";import{f as t,g as a}from"./styles-26373982.b5ae6569.js";import{a5 as i}from"./mermaid.core.6d8597df.js";import"./layout.e490e9ef.js";import"./createText-1f5f8f92.2cd7eed0.js";import"./index-5219d011.c6c2c006.js";import"./edges-2e77835f.ce02d1cb.js";import"./svgDraw-2526cba0.08c6d93d.js";import"./line.dc626553.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";import"./selectAll.3bc18744.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/_nuxt/flowDiagram-v2-8e52592d.ea8f8dbe.js b/_nuxt/flowDiagram-v2-8e52592d.ea8f8dbe.js new file mode 100644 index 0000000000..f87c9cd413 --- /dev/null +++ b/_nuxt/flowDiagram-v2-8e52592d.ea8f8dbe.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-52e24d17.7a28c8bc.js";import{f as t,g as a}from"./styles-26373982.92ac74e5.js";import{a5 as i}from"./mermaid.core.bd97f718.js";import"./layout.11303474.js";import"./createText-1f5f8f92.9af55188.js";import"./index-5219d011.3b2aa214.js";import"./edges-2e77835f.ec894958.js";import"./svgDraw-2526cba0.1cdd2cec.js";import"./line.2cebc606.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";import"./selectAll.41f6743d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/_nuxt/flowchart-elk-definition-a44a74cb.25914a24.js b/_nuxt/flowchart-elk-definition-a44a74cb.2e91d6bb.js similarity index 99% rename from _nuxt/flowchart-elk-definition-a44a74cb.25914a24.js rename to _nuxt/flowchart-elk-definition-a44a74cb.2e91d6bb.js index 501a59dfde..a71536f8aa 100644 --- a/_nuxt/flowchart-elk-definition-a44a74cb.25914a24.js +++ b/_nuxt/flowchart-elk-definition-a44a74cb.2e91d6bb.js @@ -1,4 +1,4 @@ -import{d as bMe,p as wMe}from"./flowDb-52e24d17.7b23ed64.js";import{l as K1,i as lI,c as OH,u as gMe,q as V1n,t as X1n,p as IH,n as pMe}from"./mermaid.core.6d8597df.js";import{i as vMe,a as mMe,l as kMe,b as yMe}from"./edges-2e77835f.ce02d1cb.js";import{c as Hee,g as jMe}from"./_commonjsHelpers.725317a4.js";import"./createText-1f5f8f92.2cd7eed0.js";import{l as EMe}from"./line.dc626553.js";import"./entry.8cfa8efb.js";import"./svgDraw-2526cba0.08c6d93d.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";function PH(Ee){throw new Error('Could not dynamically require "'+Ee+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Uee={exports:{}};(function(Ee,It){(function(ft){Ee.exports=ft()})(function(){return function(){function ft(dt,Nt,Ai){function j(Bt,qt){if(!Nt[Bt]){if(!dt[Bt]){var Ge=typeof PH=="function"&&PH;if(!qt&&Ge)return Ge(Bt,!0);if(Ht)return Ht(Bt,!0);var Ki=new Error("Cannot find module '"+Bt+"'");throw Ki.code="MODULE_NOT_FOUND",Ki}var Si=Nt[Bt]={exports:{}};dt[Bt][0].call(Si.exports,function(Mn){var Lc=dt[Bt][1][Mn];return j(Lc||Mn)},Si,Si.exports,ft,dt,Nt,Ai)}return Nt[Bt].exports}for(var Ht=typeof PH=="function"&&PH,ou=0;ou0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Si=Ki===void 0?{}:Ki,Mn=Ge.algorithms,Lc=Mn===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Mn,Nc=Ge.workerFactory,ps=Ge.workerUrl;if(j(this,Bt),this.defaultLayoutOptions=Si,this.initialized=!1,typeof ps>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Rr=Nc;typeof ps<"u"&&typeof Nc>"u"&&(Rr=function(q1){return new Worker(q1)});var Ch=Rr(ps);if(typeof Ch.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new ou(Ch),this.worker.postMessage({cmd:"register",algorithms:Lc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Ai(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Si=Ki.layoutOptions,Mn=Si===void 0?this.defaultLayoutOptions:Si,Lc=Ki.logging,Nc=Lc===void 0?!1:Lc,ps=Ki.measureExecutionTime,Rr=ps===void 0?!1:ps;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:Mn,options:{logging:Nc,measureExecutionTime:Rr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Bt}();Nt.default=Ht;var ou=function(){function Bt(qt){var Ge=this;if(j(this,Bt),qt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=qt,this.worker.onmessage=function(Ki){setTimeout(function(){Ge.receive(Ge,Ki)},0)}}return Ai(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Si=this;return new Promise(function(Mn,Lc){Si.resolvers[Ki]=function(Nc,ps){Nc?(Si.convertGwtStyleError(Nc),Lc(Nc)):Mn(ps)},Si.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Si=Ki.data,Mn=Ge.resolvers[Si.id];Mn&&(delete Ge.resolvers[Si.id],Si.error?Mn(Si.error):Mn(null,Si.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Ge){if(Ge){var Ki=Ge.__java$exception;Ki&&(Ki.cause&&Ki.cause.backingJsObject&&(Ge.cause=Ki.cause.backingJsObject,this.convertGwtStyleError(Ge.cause)),delete Ge.__java$exception)}}}]),Bt}()},{}],2:[function(ft,dt,Nt){(function(Ai){(function(){var j;typeof window<"u"?j=window:typeof Ai<"u"?j=Ai:typeof self<"u"&&(j=self);var Ht;function ou(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Si(){}function Mn(){}function Lc(){}function Nc(){}function ps(){}function Rr(){}function Ch(){}function H1(){}function q1(){}function ww(){}function Np(){}function G1(){}function Th(){}function Q1n(){}function J1n(){}function zy(){}function Y1n(){}function Z1n(){}function nln(){}function eln(){}function Xg(){}function N(){}function tln(){}function aI(){}function iln(){}function rln(){}function cln(){}function uln(){}function DH(){}function sln(){}function oln(){}function fln(){}function z1(){}function U1(){}function dI(){}function hln(){}function lln(){}function aln(){}function $H(){}function dln(){}function bln(){}function Vg(){}function Qg(){}function wln(){}function gln(){}function pln(){}function vln(){}function FH(){}function W1(){}function Jg(){}function Yg(){}function mln(){}function Vee(){}function bI(){}function kln(){}function yln(){}function jln(){}function Eln(){}function Cln(){}function Tln(){}function Mln(){}function Aln(){}function Sln(){}function Pln(){}function Iln(){}function Oln(){}function Dln(){}function $ln(){}function Fln(){}function xln(){}function Lln(){}function Nln(){}function Bln(){}function Rln(){}function _ln(){}function Kln(){}function Hln(){}function qln(){}function Gln(){}function zln(){}function Uln(){}function Wln(){}function Xln(){}function Vln(){}function Qln(){}function Jln(){}function Yln(){}function xH(){}function Zln(){}function nan(){}function ean(){}function tan(){}function wI(){}function gI(){}function Uy(){}function ian(){}function ran(){}function pI(){}function can(){}function uan(){}function san(){}function Wy(){}function oan(){}function fan(){}function han(){}function lan(){}function aan(){}function dan(){}function ban(){}function wan(){}function gan(){}function LH(){}function pan(){}function van(){}function man(){}function kan(){}function yan(){}function NH(){}function jan(){}function Ean(){}function Can(){}function Tan(){}function Man(){}function Aan(){}function San(){}function Pan(){}function Ian(){}function Oan(){}function Dan(){}function $an(){}function Fan(){}function xan(){}function vI(){}function Lan(){}function Nan(){}function Ban(){}function Ran(){}function _an(){}function BH(){}function Kan(){}function Han(){}function qan(){}function Gan(){}function zan(){}function Uan(){}function Wan(){}function Xan(){}function Van(){}function Qan(){}function Jan(){}function Yan(){}function Zan(){}function ndn(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function udn(){}function sdn(){}function odn(){}function fdn(){}function hdn(){}function ldn(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function gdn(){}function pdn(){}function vdn(){}function mdn(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Cdn(){}function Tdn(){}function Mdn(){}function Adn(){}function Sdn(){}function Pdn(){}function Idn(){}function Odn(){}function Ddn(){}function $dn(){}function Fdn(){}function xdn(){}function Ldn(){}function Ndn(){}function Bdn(){}function Rdn(){}function _dn(){}function Kdn(){}function Hdn(){}function qdn(){}function Gdn(){}function zdn(){}function Udn(){}function Wdn(){}function Xdn(){}function Vdn(){}function Qdn(){}function Jdn(){}function Ydn(){}function Zdn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function o0n(){}function f0n(){}function h0n(){}function l0n(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function C0n(){}function T0n(){}function M0n(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function D0n(){}function RH(){}function $0n(){}function F0n(){}function x0n(){}function L0n(){}function N0n(){}function B0n(){}function R0n(){}function _0n(){}function K0n(){}function H0n(){}function q0n(){}function G0n(){}function z0n(){}function U0n(){}function W0n(){}function X0n(){}function V0n(){}function Q0n(){}function J0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function obn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Tbn(){}function Mbn(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function Obn(){}function Dbn(){}function $bn(){}function Fbn(){}function xbn(){}function Lbn(){}function Nbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Kbn(){}function Hbn(){}function qbn(){}function Gbn(){}function zbn(){}function _H(){}function Ubn(){}function Wbn(){}function Xbn(){}function Vbn(){}function Qbn(){}function Jbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function own(){}function fwn(){}function hwn(){}function lwn(){}function KH(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function HH(){}function qH(){}function vwn(){}function GH(){}function zH(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Twn(){}function Mwn(){}function Awn(){}function UH(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function $wn(){}function Fwn(){}function xwn(){}function Lwn(){}function Nwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Kwn(){}function Hwn(){}function qwn(){}function Gwn(){}function zwn(){}function Uwn(){}function Wwn(){}function Xwn(){}function Vwn(){}function Qwn(){}function Jwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function ogn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Tgn(){}function Mgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function $gn(){}function Fgn(){}function xgn(){}function Lgn(){}function Ngn(){}function Bgn(){}function Rgn(){}function _gn(){}function Kgn(){}function mI(){}function kI(){}function yI(){}function Hgn(){}function qgn(){}function Ggn(){}function zgn(){}function Ugn(){}function WH(){}function Wgn(){}function Xgn(){}function Qee(){}function Vgn(){}function Qgn(){}function Jgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function Zl(){}function t2n(){}function Zg(){}function XH(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function s2n(){}function o2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function dn(){}function C2n(){}function T2n(){}function M2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function $2n(){}function jI(){}function F2n(){}function x2n(){}function L2n(){}function N2n(){}function B2n(){}function VH(){}function Xy(){}function Vy(){}function R2n(){}function QH(){}function Qy(){}function _2n(){}function K2n(){}function H2n(){}function q2n(){}function G2n(){}function z2n(){}function Jy(){}function U2n(){}function W2n(){}function X2n(){}function Yy(){}function V2n(){}function JH(){}function Q2n(){}function EI(){}function YH(){}function J2n(){}function Y2n(){}function Z2n(){}function npn(){}function Jee(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function opn(){}function fpn(){}function hpn(){}function Bp(){}function CI(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Tpn(){}function Mpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function $pn(){}function Fpn(){}function xpn(){}function Lpn(){}function Npn(){}function Bpn(){}function Rpn(){}function _pn(){}function Kpn(){}function Hpn(){}function qpn(){}function Gpn(){}function zpn(){}function Upn(){}function Wpn(){}function Xpn(){}function Vpn(){}function Qpn(){}function Jpn(){}function Ypn(){}function Zpn(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function o3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function T3n(){}function M3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function $3n(){}function F3n(){}function x3n(){}function L3n(){}function N3n(){}function B3n(){}function R3n(){}function _3n(){}function K3n(){}function H3n(){}function q3n(){}function G3n(){}function z3n(){}function U3n(){}function W3n(){}function X3n(){}function V3n(){}function Q3n(){}function J3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function ZH(){}function r4n(){}function c4n(){}function TI(){Rv()}function u4n(){pF()}function s4n(){a6()}function o4n(){WT()}function f4n(){YJ()}function h4n(){Go()}function l4n(){fJ()}function a4n(){C7()}function d4n(){q9()}function b4n(){H9()}function w4n(){w8()}function g4n(){v7n()}function p4n(){x2()}function v4n(){Sj()}function m4n(){PSn()}function k4n(){HIn()}function y4n(){sPn()}function j4n(){CMn()}function E4n(){V3()}function C4n(){yl()}function T4n(){qIn()}function M4n(){pAn()}function A4n(){zZ()}function S4n(){IFn()}function P4n(){TMn()}function I4n(){nn()}function O4n(){EMn()}function D4n(){GIn()}function $4n(){WOn()}function F4n(){AMn()}function x4n(){aPn()}function L4n(){m7n()}function N4n(){$Y()}function B4n(){gb()}function R4n(){pOn()}function _4n(){S7()}function K4n(){Ux()}function H4n(){ZF()}function q4n(){Zd()}function G4n(){PV()}function z4n(){MMn()}function U4n(){BBn()}function W4n(){IY()}function X4n(){Bx()}function V4n(){DC()}function Q4n(){nM()}function nq(){Xe()}function J4n(){wT()}function Y4n(){NQ()}function eq(){mM()}function Fo(){dEn()}function tq(){eF()}function Z4n(){pZ()}function iq(n){_n(n)}function nvn(n){this.a=n}function Zy(n){this.a=n}function evn(n){this.a=n}function tvn(n){this.a=n}function ivn(n){this.a=n}function rvn(n){this.a=n}function cvn(n){this.a=n}function uvn(n){this.a=n}function rq(n){this.a=n}function cq(n){this.a=n}function svn(n){this.a=n}function MI(n){this.a=n}function ovn(n){this.a=n}function AI(n){this.a=n}function fvn(n){this.a=n}function SI(n){this.a=n}function hvn(n){this.a=n}function PI(n){this.a=n}function lvn(n){this.a=n}function avn(n){this.a=n}function dvn(n){this.a=n}function uq(n){this.b=n}function bvn(n){this.c=n}function wvn(n){this.a=n}function gvn(n){this.a=n}function pvn(n){this.a=n}function vvn(n){this.a=n}function mvn(n){this.a=n}function kvn(n){this.a=n}function yvn(n){this.a=n}function jvn(n){this.a=n}function Evn(n){this.a=n}function Cvn(n){this.a=n}function Tvn(n){this.a=n}function Mvn(n){this.a=n}function Avn(n){this.a=n}function sq(n){this.a=n}function oq(n){this.a=n}function nj(n){this.a=n}function M9(n){this.a=n}function na(){this.a=[]}function Svn(n,e){n.a=e}function Yee(n,e){n.a=e}function Zee(n,e){n.b=e}function nte(n,e){n.b=e}function ete(n,e){n.b=e}function fq(n,e){n.j=e}function tte(n,e){n.g=e}function ite(n,e){n.i=e}function rte(n,e){n.c=e}function cte(n,e){n.d=e}function ute(n,e){n.d=e}function ste(n,e){n.c=e}function ea(n,e){n.k=e}function ote(n,e){n.c=e}function hq(n,e){n.c=e}function lq(n,e){n.a=e}function fte(n,e){n.a=e}function hte(n,e){n.f=e}function lte(n,e){n.a=e}function ate(n,e){n.b=e}function II(n,e){n.d=e}function ej(n,e){n.i=e}function aq(n,e){n.o=e}function dte(n,e){n.r=e}function bte(n,e){n.a=e}function wte(n,e){n.b=e}function Pvn(n,e){n.e=e}function gte(n,e){n.f=e}function dq(n,e){n.g=e}function pte(n,e){n.e=e}function vte(n,e){n.f=e}function mte(n,e){n.f=e}function kte(n,e){n.n=e}function yte(n,e){n.a=e}function jte(n,e){n.a=e}function Ete(n,e){n.c=e}function Cte(n,e){n.c=e}function Tte(n,e){n.d=e}function Mte(n,e){n.e=e}function Ate(n,e){n.g=e}function Ste(n,e){n.a=e}function Pte(n,e){n.c=e}function Ite(n,e){n.d=e}function Ote(n,e){n.e=e}function Dte(n,e){n.f=e}function $te(n,e){n.j=e}function Fte(n,e){n.a=e}function xte(n,e){n.b=e}function Lte(n,e){n.a=e}function Ivn(n){n.b=n.a}function Ovn(n){n.c=n.d.d}function $v(n){this.d=n}function ta(n){this.a=n}function Rp(n){this.a=n}function bq(n){this.a=n}function Mh(n){this.a=n}function A9(n){this.a=n}function Dvn(n){this.a=n}function wq(n){this.a=n}function S9(n){this.a=n}function gq(n){this.a=n}function pq(n){this.a=n}function vq(n){this.a=n}function L0(n){this.a=n}function P9(n){this.a=n}function I9(n){this.a=n}function mq(n){this.b=n}function _p(n){this.b=n}function Kp(n){this.b=n}function OI(n){this.a=n}function $vn(n){this.a=n}function kq(n){this.a=n}function DI(n){this.c=n}function E(n){this.c=n}function Fvn(n){this.c=n}function yq(n){this.a=n}function jq(n){this.a=n}function Eq(n){this.a=n}function Cq(n){this.a=n}function ut(n){this.a=n}function xvn(n){this.a=n}function Tq(n){this.a=n}function Mq(n){this.a=n}function Lvn(n){this.a=n}function Nvn(n){this.a=n}function Fv(n){this.a=n}function Bvn(n){this.a=n}function Rvn(n){this.a=n}function _vn(n){this.a=n}function Kvn(n){this.a=n}function Hvn(n){this.a=n}function qvn(n){this.a=n}function Gvn(n){this.a=n}function zvn(n){this.a=n}function Uvn(n){this.a=n}function Wvn(n){this.a=n}function Xvn(n){this.a=n}function Vvn(n){this.a=n}function Qvn(n){this.a=n}function Jvn(n){this.a=n}function Yvn(n){this.a=n}function Zvn(n){this.a=n}function n5n(n){this.a=n}function O9(n){this.a=n}function e5n(n){this.a=n}function t5n(n){this.a=n}function tj(n){this.a=n}function i5n(n){this.a=n}function r5n(n){this.a=n}function Hp(n){this.a=n}function Aq(n){this.a=n}function c5n(n){this.a=n}function u5n(n){this.a=n}function s5n(n){this.a=n}function o5n(n){this.a=n}function f5n(n){this.a=n}function Sq(n){this.a=n}function Pq(n){this.a=n}function Iq(n){this.a=n}function ij(n){this.a=n}function rj(n){this.e=n}function qp(n){this.a=n}function h5n(n){this.a=n}function n2(n){this.a=n}function Oq(n){this.a=n}function l5n(n){this.a=n}function a5n(n){this.a=n}function d5n(n){this.a=n}function b5n(n){this.a=n}function w5n(n){this.a=n}function g5n(n){this.a=n}function p5n(n){this.a=n}function v5n(n){this.a=n}function m5n(n){this.a=n}function k5n(n){this.a=n}function y5n(n){this.a=n}function Dq(n){this.a=n}function j5n(n){this.a=n}function E5n(n){this.a=n}function C5n(n){this.a=n}function T5n(n){this.a=n}function M5n(n){this.a=n}function A5n(n){this.a=n}function S5n(n){this.a=n}function P5n(n){this.a=n}function I5n(n){this.a=n}function O5n(n){this.a=n}function D5n(n){this.a=n}function $5n(n){this.a=n}function F5n(n){this.a=n}function x5n(n){this.a=n}function L5n(n){this.a=n}function N5n(n){this.a=n}function B5n(n){this.a=n}function R5n(n){this.a=n}function _5n(n){this.a=n}function K5n(n){this.a=n}function H5n(n){this.a=n}function q5n(n){this.a=n}function G5n(n){this.a=n}function z5n(n){this.a=n}function U5n(n){this.a=n}function W5n(n){this.a=n}function X5n(n){this.a=n}function V5n(n){this.a=n}function Q5n(n){this.a=n}function J5n(n){this.a=n}function Y5n(n){this.a=n}function Z5n(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.c=n}function u6n(n){this.b=n}function s6n(n){this.a=n}function o6n(n){this.a=n}function f6n(n){this.a=n}function h6n(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function d6n(n){this.a=n}function b6n(n){this.a=n}function w6n(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function C6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function A6n(n){this.a=n}function S6n(n){this.a=n}function P6n(n){this.a=n}function I6n(n){this.a=n}function X1(n){this.a=n}function e2(n){this.a=n}function O6n(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function F6n(n){this.a=n}function x6n(n){this.a=n}function L6n(n){this.a=n}function N6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function K6n(n){this.a=n}function H6n(n){this.a=n}function q6n(n){this.a=n}function G6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function cj(n){this.a=n}function W6n(n){this.a=n}function X6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function J6n(n){this.a=n}function Y6n(n){this.a=n}function Z6n(n){this.a=n}function nmn(n){this.a=n}function emn(n){this.a=n}function tmn(n){this.a=n}function imn(n){this.a=n}function rmn(n){this.a=n}function cmn(n){this.a=n}function umn(n){this.a=n}function smn(n){this.a=n}function omn(n){this.a=n}function fmn(n){this.a=n}function hmn(n){this.a=n}function lmn(n){this.a=n}function amn(n){this.a=n}function dmn(n){this.a=n}function bmn(n){this.a=n}function wmn(n){this.a=n}function gmn(n){this.a=n}function pmn(n){this.a=n}function vmn(n){this.a=n}function mmn(n){this.a=n}function kmn(n){this.a=n}function $q(n){this.a=n}function kt(n){this.b=n}function ymn(n){this.f=n}function Fq(n){this.a=n}function jmn(n){this.a=n}function Emn(n){this.a=n}function Cmn(n){this.a=n}function Tmn(n){this.a=n}function Mmn(n){this.a=n}function Amn(n){this.a=n}function Smn(n){this.a=n}function Pmn(n){this.a=n}function D9(n){this.a=n}function Imn(n){this.a=n}function Omn(n){this.b=n}function xq(n){this.c=n}function uj(n){this.e=n}function Dmn(n){this.a=n}function sj(n){this.a=n}function oj(n){this.a=n}function $I(n){this.a=n}function $mn(n){this.a=n}function Fmn(n){this.d=n}function Lq(n){this.a=n}function Nq(n){this.a=n}function cd(n){this.e=n}function Nte(){this.a=0}function gw(){dyn(this)}function X(){RO(this)}function we(){Eu(this)}function FI(){pTn(this)}function xmn(){}function ud(){this.c=p1n}function Bte(n,e){e.Wb(n)}function Lmn(n,e){n.b+=e}function Nmn(n){n.b=new JI}function T(n){return n.e}function Rte(n){return n.a}function _te(n){return n.a}function Kte(n){return n.a}function Hte(n){return n.a}function qte(n){return n.a}function Gte(){return null}function zte(){return null}function Ute(){EG(),iTe()}function Wte(n){n.b.tf(n.e)}function xv(n,e){n.b=e-n.b}function Lv(n,e){n.a=e-n.a}function Bmn(n,e){e.ad(n.a)}function Xte(n,e){ui(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){Df(),this.a=n}function Rmn(n){Df(),this.a=n}function _mn(n){Df(),this.a=n}function Rq(n){nb(),this.a=n}function Kmn(n){k3(),aR.be(n)}function ia(){Qyn.call(this)}function _q(){Qyn.call(this)}function Kq(){ia.call(this)}function xI(){ia.call(this)}function Hmn(){ia.call(this)}function F9(){ia.call(this)}function fu(){ia.call(this)}function Nv(){ia.call(this)}function ye(){ia.call(this)}function vs(){ia.call(this)}function qmn(){ia.call(this)}function ic(){ia.call(this)}function Gmn(){ia.call(this)}function zmn(){this.a=this}function fj(){this.Bb|=256}function Umn(){this.b=new Xkn}function Hq(){Hq=N,new we}function qq(){Kq.call(this)}function Wmn(n,e){n.length=e}function hj(n,e){W(n.a,e)}function Qte(n,e){nY(n.c,e)}function Jte(n,e){ri(n.b,e)}function Yte(n,e){KT(n.a,e)}function Zte(n,e){MF(n.a,e)}function Gp(n,e){et(n.e,e)}function t2(n){iM(n.c,n.b)}function nie(n,e){n.kc().Nb(e)}function Gq(n){this.a=Yge(n)}function fi(){this.a=new we}function Xmn(){this.a=new we}function lj(){this.a=new X}function LI(){this.a=new X}function zq(){this.a=new X}function Ns(){this.a=new Oln}function ra(){this.a=new TSn}function Uq(){this.a=new LH}function Wq(){this.a=new h7n}function Vmn(){this.a=new YMn}function Xq(){this.a=new bMn}function Vq(){this.a=new Bjn}function Qmn(){this.a=new X}function Qq(){this.a=new X}function Jmn(){this.a=new X}function Ymn(){this.a=new X}function Zmn(){this.d=new X}function n9n(){this.a=new fi}function e9n(){this.a=new we}function t9n(){this.b=new we}function i9n(){this.b=new X}function Jq(){this.e=new X}function r9n(){this.d=new X}function c9n(){this.a=new C4n}function u9n(){X.call(this)}function Yq(){lj.call(this)}function s9n(){kE.call(this)}function o9n(){Qq.call(this)}function NI(){Bv.call(this)}function Bv(){xmn.call(this)}function i2(){xmn.call(this)}function Zq(){i2.call(this)}function f9n(){zTn.call(this)}function h9n(){zTn.call(this)}function l9n(){uG.call(this)}function a9n(){uG.call(this)}function d9n(){uG.call(this)}function b9n(){sG.call(this)}function hu(){Ct.call(this)}function nG(){B2n.call(this)}function eG(){B2n.call(this)}function w9n(){O9n.call(this)}function g9n(){O9n.call(this)}function p9n(){we.call(this)}function v9n(){we.call(this)}function m9n(){we.call(this)}function k9n(){fi.call(this)}function BI(){RIn.call(this)}function y9n(){fj.call(this)}function RI(){Oz.call(this)}function _I(){Oz.call(this)}function tG(){we.call(this)}function KI(){we.call(this)}function j9n(){we.call(this)}function iG(){Yy.call(this)}function E9n(){Yy.call(this)}function C9n(){iG.call(this)}function T9n(){ZH.call(this)}function M9n(n){hIn.call(this,n)}function A9n(n){hIn.call(this,n)}function rG(n){rq.call(this,n)}function cG(n){n7n.call(this,n)}function eie(n){cG.call(this,n)}function tie(n){n7n.call(this,n)}function zp(){this.a=new Ct}function uG(){this.a=new fi}function sG(){this.a=new we}function S9n(){this.a=new X}function P9n(){this.j=new X}function oG(){this.a=new Rgn}function I9n(){this.a=new T8n}function O9n(){this.a=new X2n}function HI(){HI=N,uR=new V9n}function qI(){qI=N,cR=new X9n}function Rv(){Rv=N,rR=new Bt}function aj(){aj=N,fR=new Xyn}function iie(n){cG.call(this,n)}function rie(n){cG.call(this,n)}function D9n(n){m$.call(this,n)}function $9n(n){m$.call(this,n)}function F9n(n){uEn.call(this,n)}function GI(n){C5e.call(this,n)}function sd(n){_0.call(this,n)}function _v(n){Cj.call(this,n)}function fG(n){Cj.call(this,n)}function x9n(n){Cj.call(this,n)}function _r(n){kCn.call(this,n)}function L9n(n){_r.call(this,n)}function r2(){M9.call(this,{})}function dj(n){c3(),this.a=n}function Kv(n){n.b=null,n.c=0}function cie(n,e){n.e=e,NNn(n,e)}function uie(n,e){n.a=e,h6e(n)}function zI(n,e,t){n.a[e.g]=t}function sie(n,e,t){M4e(t,n,e)}function oie(n,e){$ue(e.i,n.n)}function N9n(n,e){Fwe(n).td(e)}function fie(n,e){return n*n/e}function B9n(n,e){return n.g-e.g}function hie(n){return new nj(n)}function lie(n){return new Z0(n)}function bj(n){_r.call(this,n)}function vr(n){_r.call(this,n)}function R9n(n){_r.call(this,n)}function UI(n){kCn.call(this,n)}function WI(n){AV(),this.a=n}function _9n(n){aEn(),this.a=n}function N0(n){ED(),this.f=n}function XI(n){ED(),this.f=n}function Up(n){_r.call(this,n)}function Hn(n){_r.call(this,n)}function Dr(n){_r.call(this,n)}function K9n(n){_r.call(this,n)}function c2(n){_r.call(this,n)}function on(n){return _n(n),n}function K(n){return _n(n),n}function x9(n){return _n(n),n}function hG(n){return _n(n),n}function aie(n){return _n(n),n}function Hv(n){return n.b==n.c}function B0(n){return!!n&&n.b}function die(n){return!!n&&n.k}function bie(n){return!!n&&n.j}function Ku(n){_n(n),this.a=n}function lG(n){return ja(n),n}function qv(n){EW(n,n.length)}function t1(n){_r.call(this,n)}function Af(n){_r.call(this,n)}function VI(n){_r.call(this,n)}function pw(n){_r.call(this,n)}function Gv(n){_r.call(this,n)}function Ce(n){_r.call(this,n)}function QI(n){Vz.call(this,n,0)}function JI(){iX.call(this,12,3)}function aG(){aG=N,din=new Q1n}function H9n(){H9n=N,ain=new ou}function wj(){wj=N,dm=new H1}function q9n(){q9n=N,vzn=new ww}function G9n(){throw T(new ye)}function dG(){throw T(new ye)}function z9n(){throw T(new ye)}function wie(){throw T(new ye)}function gie(){throw T(new ye)}function pie(){throw T(new ye)}function YI(){this.a=Te(pe(Ji))}function u2(n){Df(),this.a=pe(n)}function U9n(n,e){n.Td(e),e.Sd(n)}function vie(n,e){n.a.ec().Mc(e)}function mie(n,e,t){n.c.lf(e,t)}function bG(n){vr.call(this,n)}function Sf(n){Hn.call(this,n)}function i1(){A9.call(this,"")}function zv(){A9.call(this,"")}function V1(){A9.call(this,"")}function R0(){A9.call(this,"")}function wG(n){vr.call(this,n)}function Wp(n){_p.call(this,n)}function ZI(n){lE.call(this,n)}function W9n(n){Wp.call(this,n)}function X9n(){AI.call(this,null)}function V9n(){AI.call(this,null)}function gj(){gj=N,k3()}function Q9n(){Q9n=N,Szn=Z4e()}function J9n(n){return n.a?n.b:0}function kie(n){return n.a?n.b:0}function yie(n,e){return n.a-e.a}function jie(n,e){return n.a-e.a}function Eie(n,e){return n.a-e.a}function pj(n,e){return WX(n,e)}function M(n,e){return pMn(n,e)}function Cie(n,e){return e in n.a}function Y9n(n,e){return n.f=e,n}function Tie(n,e){return n.b=e,n}function Z9n(n,e){return n.c=e,n}function Mie(n,e){return n.g=e,n}function gG(n,e){return n.a=e,n}function pG(n,e){return n.f=e,n}function Aie(n,e){return n.k=e,n}function vG(n,e){return n.a=e,n}function Sie(n,e){return n.e=e,n}function mG(n,e){return n.e=e,n}function Pie(n,e){return n.f=e,n}function Iie(n,e){n.b=!0,n.d=e}function Oie(n,e){n.b=new mr(e)}function Die(n,e,t){e.td(n.a[t])}function $ie(n,e,t){e.we(n.a[t])}function Fie(n,e){return n.b-e.b}function xie(n,e){return n.g-e.g}function Lie(n,e){return n.s-e.s}function Nie(n,e){return n?0:e-1}function n8n(n,e){return n?0:e-1}function Bie(n,e){return n?e-1:0}function Rie(n,e){return e.Yf(n)}function od(n,e){return n.b=e,n}function vj(n,e){return n.a=e,n}function fd(n,e){return n.c=e,n}function hd(n,e){return n.d=e,n}function ld(n,e){return n.e=e,n}function kG(n,e){return n.f=e,n}function Uv(n,e){return n.a=e,n}function Xp(n,e){return n.b=e,n}function Vp(n,e){return n.c=e,n}function gn(n,e){return n.c=e,n}function Dn(n,e){return n.b=e,n}function pn(n,e){return n.d=e,n}function vn(n,e){return n.e=e,n}function _ie(n,e){return n.f=e,n}function mn(n,e){return n.g=e,n}function kn(n,e){return n.a=e,n}function yn(n,e){return n.i=e,n}function jn(n,e){return n.j=e,n}function e8n(n,e){return n.k=e,n}function Kie(n,e){return n.j=e,n}function Hie(n,e){yl(),Hr(e,n)}function qie(n,e,t){Nfe(n.a,e,t)}function t8n(n){mTn.call(this,n)}function yG(n){mTn.call(this,n)}function mj(n){uD.call(this,n)}function i8n(n){u2e.call(this,n)}function Q1(n){Ld.call(this,n)}function r8n(n){XD.call(this,n)}function c8n(n){XD.call(this,n)}function u8n(){Mz.call(this,"")}function Li(){this.a=0,this.b=0}function s8n(){this.b=0,this.a=0}function o8n(n,e){n.b=0,hb(n,e)}function Gie(n,e){n.c=e,n.b=!0}function f8n(n,e){return n.c._b(e)}function xo(n){return n.e&&n.e()}function nO(n){return n?n.d:null}function h8n(n,e){return LDn(n.b,e)}function zie(n){return n?n.g:null}function Uie(n){return n?n.i:null}function J1(n){return Ph(n),n.o}function ad(){ad=N,Mne=h4e()}function l8n(){l8n=N,vi=jve()}function Qp(){Qp=N,g1n=a4e()}function a8n(){a8n=N,hee=l4e()}function jG(){jG=N,oc=s6e()}function EG(){EG=N,Wl=N3()}function d8n(){throw T(new ye)}function b8n(){throw T(new ye)}function w8n(){throw T(new ye)}function g8n(){throw T(new ye)}function p8n(){throw T(new ye)}function v8n(){throw T(new ye)}function kj(n){this.a=new s2(n)}function CG(n){d_n(),gTe(this,n)}function Y1(n){this.a=new AD(n)}function vw(n,e){for(;n.ye(e););}function TG(n,e){for(;n.sd(e););}function mw(n,e){return n.a+=e,n}function eO(n,e){return n.a+=e,n}function r1(n,e){return n.a+=e,n}function dd(n,e){return n.a+=e,n}function Wv(n){return fl(n),n.a}function yj(n){return n.b!=n.d.c}function m8n(n){return n.l|n.m<<22}function MG(n,e){return n.d[e.p]}function k8n(n,e){return Q8e(n,e)}function AG(n,e,t){n.splice(e,t)}function y8n(n){n.c?rBn(n):cBn(n)}function jj(n){this.a=0,this.b=n}function j8n(){this.a=new B7(Pon)}function E8n(){this.b=new B7(won)}function C8n(){this.b=new B7(OK)}function T8n(){this.b=new B7(OK)}function M8n(){throw T(new ye)}function A8n(){throw T(new ye)}function S8n(){throw T(new ye)}function P8n(){throw T(new ye)}function I8n(){throw T(new ye)}function O8n(){throw T(new ye)}function D8n(){throw T(new ye)}function $8n(){throw T(new ye)}function F8n(){throw T(new ye)}function x8n(){throw T(new ye)}function Wie(){throw T(new ic)}function Xie(){throw T(new ic)}function L9(n){this.a=new L8n(n)}function L8n(n){cbe(this,n,cve())}function N9(n){return!n||iTn(n)}function B9(n){return Tf[n]!=-1}function Vie(){_A!=0&&(_A=0),KA=-1}function N8n(){iR==null&&(iR=[])}function Qie(n,e){$x(R(n.a),e)}function Jie(n,e){$x(R(n.a),e)}function R9(n,e){Sw.call(this,n,e)}function Jp(n,e){R9.call(this,n,e)}function SG(n,e){this.b=n,this.c=e}function B8n(n,e){this.b=n,this.a=e}function R8n(n,e){this.a=n,this.b=e}function _8n(n,e){this.a=n,this.b=e}function K8n(n,e){this.a=n,this.b=e}function H8n(n,e){this.a=n,this.b=e}function q8n(n,e){this.a=n,this.b=e}function G8n(n,e){this.a=n,this.b=e}function z8n(n,e){this.a=n,this.b=e}function U8n(n,e){this.a=n,this.b=e}function W8n(n,e){this.b=n,this.a=e}function X8n(n,e){this.b=n,this.a=e}function V8n(n,e){this.b=n,this.a=e}function Q8n(n,e){this.b=n,this.a=e}function Oe(n,e){this.f=n,this.g=e}function Yp(n,e){this.e=n,this.d=e}function bd(n,e){this.g=n,this.i=e}function tO(n,e){this.a=n,this.b=e}function J8n(n,e){this.a=n,this.f=e}function Y8n(n,e){this.b=n,this.c=e}function Yie(n,e){this.a=n,this.b=e}function Z8n(n,e){this.a=n,this.b=e}function iO(n,e){this.a=n,this.b=e}function n7n(n){Bz(n.dc()),this.c=n}function Ej(n){this.b=u(pe(n),83)}function e7n(n){this.a=u(pe(n),83)}function _0(n){this.a=u(pe(n),15)}function t7n(n){this.a=u(pe(n),15)}function Cj(n){this.b=u(pe(n),47)}function Tj(){this.q=new j.Date}function Zf(){Zf=N,Sin=new tln}function Zp(){Zp=N,X4=new nln}function Xv(n){return n.f.c+n.g.c}function _9(n,e){return n.b.Hc(e)}function i7n(n,e){return n.b.Ic(e)}function r7n(n,e){return n.b.Qc(e)}function c7n(n,e){return n.b.Hc(e)}function u7n(n,e){return n.c.uc(e)}function Ah(n,e){return n.a._b(e)}function s7n(n,e){return tt(n.c,e)}function o7n(n,e){return zu(n.b,e)}function f7n(n,e){return n>e&&e0}function cO(n,e){return fc(n,e)<0}function n5(n,e){return n.a.get(e)}function lre(n,e){return e.split(n)}function S7n(n,e){return zu(n.e,e)}function LG(n){return _n(n),!1}function xj(n){xn.call(this,n,21)}function are(n,e){cMn.call(this,n,e)}function Lj(n,e){Oe.call(this,n,e)}function uO(n,e){Oe.call(this,n,e)}function NG(n){_D(),uEn.call(this,n)}function BG(n,e){fCn(n,n.length,e)}function z9(n,e){BCn(n,n.length,e)}function dre(n,e,t){e.ud(n.a.Ge(t))}function bre(n,e,t){e.we(n.a.Fe(t))}function wre(n,e,t){e.td(n.a.Kb(t))}function gre(n,e,t){n.Mb(t)&&e.td(t)}function e5(n,e,t){n.splice(e,0,t)}function pre(n,e){return au(n.e,e)}function Nj(n,e){this.d=n,this.e=e}function P7n(n,e){this.b=n,this.a=e}function I7n(n,e){this.b=n,this.a=e}function RG(n,e){this.b=n,this.a=e}function O7n(n,e){this.a=n,this.b=e}function D7n(n,e){this.a=n,this.b=e}function $7n(n,e){this.a=n,this.b=e}function F7n(n,e){this.a=n,this.b=e}function f2(n,e){this.a=n,this.b=e}function _G(n,e){this.b=n,this.a=e}function KG(n,e){this.b=n,this.a=e}function Bj(n,e){Oe.call(this,n,e)}function Rj(n,e){Oe.call(this,n,e)}function HG(n,e){Oe.call(this,n,e)}function qG(n,e){Oe.call(this,n,e)}function kw(n,e){Oe.call(this,n,e)}function sO(n,e){Oe.call(this,n,e)}function oO(n,e){Oe.call(this,n,e)}function fO(n,e){Oe.call(this,n,e)}function _j(n,e){Oe.call(this,n,e)}function GG(n,e){Oe.call(this,n,e)}function hO(n,e){Oe.call(this,n,e)}function U9(n,e){Oe.call(this,n,e)}function Kj(n,e){Oe.call(this,n,e)}function lO(n,e){Oe.call(this,n,e)}function t5(n,e){Oe.call(this,n,e)}function zG(n,e){Oe.call(this,n,e)}function zt(n,e){Oe.call(this,n,e)}function Hj(n,e){Oe.call(this,n,e)}function x7n(n,e){this.a=n,this.b=e}function L7n(n,e){this.a=n,this.b=e}function N7n(n,e){this.a=n,this.b=e}function B7n(n,e){this.a=n,this.b=e}function R7n(n,e){this.a=n,this.b=e}function _7n(n,e){this.a=n,this.b=e}function K7n(n,e){this.a=n,this.b=e}function H7n(n,e){this.a=n,this.b=e}function q7n(n,e){this.a=n,this.b=e}function UG(n,e){this.b=n,this.a=e}function G7n(n,e){this.b=n,this.a=e}function z7n(n,e){this.b=n,this.a=e}function U7n(n,e){this.b=n,this.a=e}function t3(n,e){this.c=n,this.d=e}function W7n(n,e){this.e=n,this.d=e}function X7n(n,e){this.a=n,this.b=e}function V7n(n,e){this.b=e,this.c=n}function qj(n,e){Oe.call(this,n,e)}function W9(n,e){Oe.call(this,n,e)}function aO(n,e){Oe.call(this,n,e)}function i5(n,e){Oe.call(this,n,e)}function WG(n,e){Oe.call(this,n,e)}function dO(n,e){Oe.call(this,n,e)}function bO(n,e){Oe.call(this,n,e)}function X9(n,e){Oe.call(this,n,e)}function XG(n,e){Oe.call(this,n,e)}function wO(n,e){Oe.call(this,n,e)}function r5(n,e){Oe.call(this,n,e)}function VG(n,e){Oe.call(this,n,e)}function c5(n,e){Oe.call(this,n,e)}function u5(n,e){Oe.call(this,n,e)}function H0(n,e){Oe.call(this,n,e)}function gO(n,e){Oe.call(this,n,e)}function pO(n,e){Oe.call(this,n,e)}function QG(n,e){Oe.call(this,n,e)}function s5(n,e){Oe.call(this,n,e)}function vO(n,e){Oe.call(this,n,e)}function Gj(n,e){Oe.call(this,n,e)}function V9(n,e){Oe.call(this,n,e)}function Q9(n,e){Oe.call(this,n,e)}function h2(n,e){Oe.call(this,n,e)}function mO(n,e){Oe.call(this,n,e)}function JG(n,e){Oe.call(this,n,e)}function kO(n,e){Oe.call(this,n,e)}function yO(n,e){Oe.call(this,n,e)}function YG(n,e){Oe.call(this,n,e)}function jO(n,e){Oe.call(this,n,e)}function EO(n,e){Oe.call(this,n,e)}function CO(n,e){Oe.call(this,n,e)}function TO(n,e){Oe.call(this,n,e)}function ZG(n,e){Oe.call(this,n,e)}function Q7n(n,e){this.b=n,this.a=e}function J7n(n,e){this.a=n,this.b=e}function Y7n(n,e){this.a=n,this.b=e}function Z7n(n,e){this.a=n,this.b=e}function nkn(n,e){this.a=n,this.b=e}function nz(n,e){Oe.call(this,n,e)}function ez(n,e){Oe.call(this,n,e)}function ekn(n,e){this.b=n,this.d=e}function tz(n,e){Oe.call(this,n,e)}function iz(n,e){Oe.call(this,n,e)}function tkn(n,e){this.a=n,this.b=e}function ikn(n,e){this.a=n,this.b=e}function zj(n,e){Oe.call(this,n,e)}function o5(n,e){Oe.call(this,n,e)}function rz(n,e){Oe.call(this,n,e)}function cz(n,e){Oe.call(this,n,e)}function uz(n,e){Oe.call(this,n,e)}function MO(n,e){Oe.call(this,n,e)}function sz(n,e){Oe.call(this,n,e)}function AO(n,e){Oe.call(this,n,e)}function Uj(n,e){Oe.call(this,n,e)}function SO(n,e){Oe.call(this,n,e)}function PO(n,e){Oe.call(this,n,e)}function J9(n,e){Oe.call(this,n,e)}function IO(n,e){Oe.call(this,n,e)}function oz(n,e){Oe.call(this,n,e)}function Y9(n,e){Oe.call(this,n,e)}function fz(n,e){Oe.call(this,n,e)}function vre(n,e){return au(n.c,e)}function mre(n,e){return au(e.b,n)}function kre(n,e){return-n.b.Je(e)}function hz(n,e){return au(n.g,e)}function Z9(n,e){Oe.call(this,n,e)}function l2(n,e){Oe.call(this,n,e)}function rkn(n,e){this.a=n,this.b=e}function ckn(n,e){this.a=n,this.b=e}function fn(n,e){this.a=n,this.b=e}function f5(n,e){Oe.call(this,n,e)}function h5(n,e){Oe.call(this,n,e)}function n8(n,e){Oe.call(this,n,e)}function OO(n,e){Oe.call(this,n,e)}function Wj(n,e){Oe.call(this,n,e)}function l5(n,e){Oe.call(this,n,e)}function DO(n,e){Oe.call(this,n,e)}function Xj(n,e){Oe.call(this,n,e)}function yw(n,e){Oe.call(this,n,e)}function e8(n,e){Oe.call(this,n,e)}function a5(n,e){Oe.call(this,n,e)}function d5(n,e){Oe.call(this,n,e)}function t8(n,e){Oe.call(this,n,e)}function Vj(n,e){Oe.call(this,n,e)}function jw(n,e){Oe.call(this,n,e)}function Qj(n,e){Oe.call(this,n,e)}function ukn(n,e){this.a=n,this.b=e}function skn(n,e){this.a=n,this.b=e}function okn(n,e){this.a=n,this.b=e}function fkn(n,e){this.a=n,this.b=e}function hkn(n,e){this.a=n,this.b=e}function lkn(n,e){this.a=n,this.b=e}function Pi(n,e){this.a=n,this.b=e}function Jj(n,e){Oe.call(this,n,e)}function akn(n,e){this.a=n,this.b=e}function dkn(n,e){this.a=n,this.b=e}function bkn(n,e){this.a=n,this.b=e}function wkn(n,e){this.a=n,this.b=e}function gkn(n,e){this.a=n,this.b=e}function pkn(n,e){this.a=n,this.b=e}function vkn(n,e){this.b=n,this.a=e}function mkn(n,e){this.b=n,this.a=e}function kkn(n,e){this.b=n,this.a=e}function ykn(n,e){this.b=n,this.a=e}function jkn(n,e){this.a=n,this.b=e}function Ekn(n,e){this.a=n,this.b=e}function yre(n,e){J9e(n.a,u(e,56))}function Ckn(n,e){f0e(n.a,u(e,11))}function jre(n,e){return h3(),e!=n}function Tkn(){return Q9n(),new Szn}function Mkn(){c$(),this.b=new fi}function Akn(){hM(),this.a=new fi}function Skn(){tX(),lW.call(this)}function a2(n,e){Oe.call(this,n,e)}function Pkn(n,e){this.a=n,this.b=e}function Ikn(n,e){this.a=n,this.b=e}function Yj(n,e){this.a=n,this.b=e}function Okn(n,e){this.a=n,this.b=e}function Dkn(n,e){this.a=n,this.b=e}function $kn(n,e){this.a=n,this.b=e}function Fkn(n,e){this.d=n,this.b=e}function lz(n,e){this.d=n,this.e=e}function xkn(n,e){this.f=n,this.c=e}function i8(n,e){this.b=n,this.c=e}function az(n,e){this.i=n,this.g=e}function Lkn(n,e){this.e=n,this.a=e}function Nkn(n,e){this.a=n,this.b=e}function dz(n,e){n.i=null,nT(n,e)}function Ere(n,e){n&&it($y,n,e)}function Bkn(n,e){return NF(n.a,e)}function Zj(n){return g7(n.c,n.b)}function Vr(n){return n?n.dd():null}function B(n){return n??null}function q0(n){return typeof n===X2}function G0(n){return typeof n===UZ}function mi(n){return typeof n===EL}function el(n,e){return n.Hd().Xb(e)}function nE(n,e){return Rbe(n.Kc(),e)}function gd(n,e){return fc(n,e)==0}function Cre(n,e){return fc(n,e)>=0}function b5(n,e){return fc(n,e)!=0}function Tre(n){return""+(_n(n),n)}function r8(n,e){return n.substr(e)}function Rkn(n){return $u(n),n.d.gc()}function $O(n){return yme(n,n.c),n}function eE(n){return A5(n==null),n}function w5(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function g5(n,e){return n.a+=""+e,n}function rc(n,e){return n.a+=""+e,n}function De(n,e){return n.a+=""+e,n}function bz(n,e){return n.a+=""+e,n}function _kn(n,e){Kt(n,e,n.a,n.a.a)}function ua(n,e){Kt(n,e,n.c.b,n.c)}function Mre(n,e,t){VFn(e,Mx(n,t))}function Are(n,e,t){VFn(e,Mx(n,t))}function Sre(n,e){k0e(new ie(n),e)}function Kkn(n,e){n.q.setTime($d(e))}function Hkn(n,e){kW.call(this,n,e)}function qkn(n,e){kW.call(this,n,e)}function FO(n,e){kW.call(this,n,e)}function Gkn(n){Eu(this),Z5(this,n)}function wz(n){return Ln(n,0),null}function Lo(n){return n.a=0,n.b=0,n}function zkn(n,e){return n.a=e.g+1,n}function Pre(n,e){return n.j[e.p]==2}function gz(n){return lhe(u(n,79))}function Ukn(){Ukn=N,jUn=Fe(qF())}function Wkn(){Wkn=N,RWn=Fe(PNn())}function Xkn(){this.b=new s2(sb(12))}function Vkn(){this.b=0,this.a=!1}function Qkn(){this.b=0,this.a=!1}function p5(n){this.a=n,TI.call(this)}function Jkn(n){this.a=n,TI.call(this)}function In(n,e){ii.call(this,n,e)}function xO(n,e){V0.call(this,n,e)}function Ew(n,e){az.call(this,n,e)}function LO(n,e){H3.call(this,n,e)}function Ykn(n,e){c8.call(this,n,e)}function He(n,e){$j(),it(eI,n,e)}function NO(n,e){return Yu(n.a,0,e)}function Zkn(n,e){return n.a.a.a.cc(e)}function nyn(n,e){return B(n)===B(e)}function Ire(n,e){return Zt(n.a,e.a)}function Ore(n,e){return Uc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function Pf(n,e){return n.indexOf(e)}function pd(n,e){return n==e?0:n?1:-1}function tE(n){return n<10?"0"+n:""+n}function $re(n){return pe(n),new p5(n)}function eyn(n){return Bc(n.l,n.m,n.h)}function i3(n){return Gt((_n(n),n))}function Fre(n){return Gt((_n(n),n))}function tyn(n,e){return Uc(n.g,e.g)}function $r(n){return typeof n===UZ}function xre(n){return n==b0||n==Hb}function Lre(n){return n==b0||n==Kb}function pz(n){return Fr(n.b.b,n,0)}function iyn(n){this.a=Tkn(),this.b=n}function ryn(n){this.a=Tkn(),this.b=n}function Nre(n,e){return W(n.a,e),e}function Bre(n,e){return W(n.c,e),n}function cyn(n,e){return rs(n.a,e),n}function Rre(n,e){return wo(),e.a+=n}function _re(n,e){return wo(),e.a+=n}function Kre(n,e){return wo(),e.c+=n}function vz(n,e){S3(n,0,n.length,e)}function Sh(){Tq.call(this,new ba)}function uyn(){xE.call(this,0,0,0,0)}function d2(){ys.call(this,0,0,0,0)}function mr(n){this.a=n.a,this.b=n.b}function tl(n){return n==Zs||n==Ao}function r3(n){return n==Yh||n==Jh}function syn(n){return n==xg||n==Fg}function Cw(n){return n!=jf&&n!=ql}function Hu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return rs(new hi,n)}function fyn(n,e){return new H3(e,n)}function Hre(n,e){return new H3(e,n)}function mz(n,e,t){UC(n,e),WC(n,t)}function rE(n,e,t){Rd(n,e),Bd(n,t)}function Jo(n,e,t){Zc(n,e),nu(n,t)}function cE(n,e,t){D3(n,e),F3(n,t)}function uE(n,e,t){$3(n,e),x3(n,t)}function BO(n,e){X3(n,e),L3(n,n.D)}function kz(n){xkn.call(this,n,!0)}function hyn(n,e,t){fU.call(this,n,e,t)}function il(n){jl(),qbe.call(this,n)}function lyn(){Lj.call(this,"Head",1)}function ayn(){Lj.call(this,"Tail",3)}function RO(n){n.c=F(Zn,rn,1,0,5,1)}function dyn(n){n.a=F(Zn,rn,1,8,5,1)}function byn(n){Yc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,nf(n))}function Gre(n,e){return ob(e,nf(n))}function zre(n,e){return n[n.length]=e}function Ure(n,e){return n[n.length]=e}function yz(n){return zoe(n.b.Kc(),n.a)}function Wre(n,e){return ZC(BD(n.d),e)}function Xre(n,e){return ZC(BD(n.g),e)}function Vre(n,e){return ZC(BD(n.j),e)}function tr(n,e){ii.call(this,n.b,e)}function vd(n){xE.call(this,n,n,n,n)}function jz(n){return n.b&&uL(n),n.a}function Ez(n){return n.b&&uL(n),n.c}function Qre(n,e){pf||(n.b=e)}function _O(n,e,t){return Mt(n,e,t),t}function wyn(n,e,t){Mt(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Jo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Ou(n.a),IMn(e))}function v5(n){Je(),cd.call(this,n)}function ece(n){return n==null?0:mt(n)}function gyn(){gyn=N,hK=new f6(cH)}function je(){je=N,new pyn,new X}function pyn(){new we,new we,new we}function Cz(){Cz=N,Hq(),bin=new we}function Yo(){Yo=N,j.Math.log(2)}function ms(){ms=N,Eh=(E7n(),Dne)}function tce(){throw T(new t1(izn))}function ice(){throw T(new t1(izn))}function rce(){throw T(new t1(rzn))}function cce(){throw T(new t1(rzn))}function vyn(n){this.a=n,HU.call(this,n)}function KO(n){this.a=n,Ej.call(this,n)}function HO(n){this.a=n,Ej.call(this,n)}function bi(n,e){mD(n.c,n.c.length,e)}function Kr(n){return n.ae?1:0}function kyn(n,e){return fc(n,e)>0?n:e}function Bc(n,e,t){return{l:n,m:e,h:t}}function uce(n,e){n.a!=null&&Ckn(e,n.a)}function yyn(n){n.a=new aI,n.c=new aI}function sE(n){this.b=n,this.a=new X}function jyn(n){this.b=new san,this.a=n}function Mz(n){vU.call(this),this.a=n}function Eyn(){Lj.call(this,"Range",2)}function Cyn(){kJ(),this.a=new B7(Hrn)}function sce(n,e){pe(e),Iw(n).Jc(new ps)}function oce(n,e){return Zu(),e.n.b+=n}function fce(n,e,t){return it(n.g,t,e)}function hce(n,e,t){return it(n.k,t,e)}function lce(n,e){return it(n.a,e.a,e)}function Mw(n,e,t){return _Q(e,t,n.c)}function Az(n){return new fn(n.c,n.d)}function ace(n){return new fn(n.c,n.d)}function Qr(n){return new fn(n.a,n.b)}function Tyn(n,e){return xEe(n.a,e,null)}function dce(n){Hi(n,null),Ei(n,null)}function Myn(n){s$(n,null),o$(n,null)}function Ayn(){c8.call(this,null,null)}function Syn(){wE.call(this,null,null)}function Sz(n){this.a=n,we.call(this)}function bce(n){this.b=(Pn(),new DI(n))}function oE(n){n.j=F(Ain,q,310,0,0,1)}function wce(n,e,t){n.c.Vc(e,u(t,133))}function gce(n,e,t){n.c.ji(e,u(t,133))}function Pyn(n,e){de(n),n.Gc(u(e,15))}function m5(n,e){return Jje(n.c,n.b,e)}function pce(n,e){return new Jyn(n.Kc(),e)}function qO(n,e){return gwe(n.Kc(),e)!=-1}function Pz(n,e){return n.a.Bc(e)!=null}function fE(n){return n.Ob()?n.Pb():null}function Iyn(n){return Hs(n,0,n.length)}function I(n,e){return n!=null&&WF(n,e)}function vce(n,e){n.q.setHours(e),S6(n,e)}function Oyn(n,e){n.c&&(ZU(e),iMn(e))}function mce(n,e,t){u(n.Kb(t),164).Nb(e)}function kce(n,e,t){return SEe(n,e,t),t}function Dyn(n,e,t){n.a=e^1502,n.b=t^tN}function GO(n,e,t){return n.a[e.g][t.g]}function Zo(n,e){return n.a[e.c.p][e.p]}function yce(n,e){return n.e[e.c.p][e.p]}function jce(n,e){return n.c[e.c.p][e.p]}function Ece(n,e){return n.j[e.p]=D9e(e)}function Cce(n,e){return DX(n.f,e.tg())}function Tce(n,e){return DX(n.b,e.tg())}function Mce(n,e){return n.a0?e*e/n:e*e*100}function Jce(n,e){return n>0?e/(n*n):e*100}function Yce(n,e,t){return W(e,e$n(n,t))}function Zce(n,e,t){DC(),n.Xe(e)&&t.td(n)}function s3(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function U0(n,e,t){return n.a+=e,n.b+=t,n}function nue(n,e,t){return n.a*=e,n.b*=t,n}function o8(n,e,t){return n.a-=e,n.b-=t,n}function Zz(n,e){return n.a=e.a,n.b=e.b,n}function vE(n){return n.a=-n.a,n.b=-n.b,n}function fjn(n){this.c=n,this.a=1,this.b=1}function hjn(n){this.c=n,Zc(n,0),nu(n,0)}function ljn(n){Ct.call(this),V5(this,n)}function ajn(n){yL(),Nmn(this),this.mf(n)}function djn(n,e){Zv(),c8.call(this,n,e)}function nU(n,e){c1(),wE.call(this,n,e)}function bjn(n,e){c1(),wE.call(this,n,e)}function wjn(n,e){c1(),nU.call(this,n,e)}function qu(n,e,t){Wu.call(this,n,e,t,2)}function JO(n,e){ms(),FE.call(this,n,e)}function gjn(n,e){ms(),JO.call(this,n,e)}function eU(n,e){ms(),JO.call(this,n,e)}function pjn(n,e){ms(),eU.call(this,n,e)}function tU(n,e){ms(),FE.call(this,n,e)}function vjn(n,e){ms(),tU.call(this,n,e)}function mjn(n,e){ms(),FE.call(this,n,e)}function eue(n,e){return n.c.Fc(u(e,133))}function iU(n,e,t){return jM(G8(n,e),t)}function tue(n,e,t){return e.Qk(n.e,n.c,t)}function iue(n,e,t){return e.Rk(n.e,n.c,t)}function YO(n,e){return pl(n.e,u(e,49))}function rue(n,e,t){s6(Ou(n.a),e,IMn(t))}function cue(n,e,t){s6(bc(n.a),e,PMn(t))}function rU(n,e){e.$modCount=n.$modCount}function C5(){C5=N,Xm=new kt("root")}function o3(){o3=N,xy=new w9n,new g9n}function kjn(){this.a=new Od,this.b=new Od}function cU(){RIn.call(this),this.Bb|=Yi}function yjn(){Oe.call(this,"GROW_TREE",0)}function uue(n){return n==null?null:CCe(n)}function sue(n){return n==null?null:D5e(n)}function oue(n){return n==null?null:Lr(n)}function fue(n){return n==null?null:Lr(n)}function Ph(n){n.o==null&&u9e(n)}function sn(n){return A5(n==null||q0(n)),n}function Y(n){return A5(n==null||G0(n)),n}function Te(n){return A5(n==null||mi(n)),n}function uU(n){this.q=new j.Date($d(n))}function f8(n,e){this.c=n,Yp.call(this,n,e)}function mE(n,e){this.a=n,f8.call(this,n,e)}function hue(n,e){this.d=n,Ovn(this),this.b=e}function sU(n,e){P$.call(this,n),this.a=e}function oU(n,e){P$.call(this,n),this.a=e}function lue(n){xQ.call(this,0,0),this.f=n}function fU(n,e,t){IC.call(this,n,e,t,null)}function jjn(n,e,t){IC.call(this,n,e,t,null)}function aue(n,e,t){return n.ue(e,t)<=0?t:e}function due(n,e,t){return n.ue(e,t)<=0?e:t}function bue(n,e){return u(xd(n.b,e),149)}function wue(n,e){return u(xd(n.c,e),229)}function ZO(n){return u(un(n.a,n.b),287)}function Ejn(n){return new fn(n.c,n.d+n.a)}function Cjn(n){return Zu(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Vu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){pf||W(n.a,e)}function pue(n,e){return H9(),K3(e.d.i,n)}function vue(n,e){return x2(),new ABn(e,n)}function Of(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=ss(n,e,3,t),t}function lU(n,e,t){return t=ss(n,e,6,t),t}function aU(n,e,t){return t=ss(n,e,9,t),t}function h8(n,e,t){++n.j,n.Ki(),A$(n,e,t)}function Mjn(n,e,t){++n.j,n.Hi(e,n.oi(e,t))}function Ajn(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function Sjn(n,e,t){return MZ(n.c,n.b,e,t)}function dU(n,e){return(e&nt)%n.d.length}function ii(n,e){kt.call(this,n),this.a=e}function bU(n,e){xq.call(this,n),this.a=e}function nD(n,e){xq.call(this,n),this.a=e}function Pjn(n,e){this.c=n,Ld.call(this,e)}function Ijn(n,e){this.a=n,Omn.call(this,e)}function l8(n,e){this.a=n,Omn.call(this,e)}function Ojn(n){this.a=(is(n,Pb),new Pc(n))}function Djn(n){this.a=(is(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new Rr),n.a}function $jn(n){return n>8?0:n+1}function mue(n,e){return qn(),n==e?0:n?1:-1}function wU(n,e,t){return m2(n,u(e,22),t)}function kue(n,e,t){return n.apply(e,t)}function Fjn(n,e,t){return n.a+=Hs(e,0,t),n}function gU(n,e){var t;return t=n.e,n.e=e,t}function yue(n,e){var t;t=n[eN],t.call(n,e)}function jue(n,e){var t;t=n[eN],t.call(n,e)}function X0(n,e){n.a.Vc(n.b,e),++n.b,n.c=-1}function xjn(n){Eu(n.e),n.d.b=n.d,n.d.a=n.d}function d8(n){n.b?d8(n.b):n.f.c.zc(n.e,n.d)}function Eue(n,e,t){ca(),Svn(n,e.Ce(n.a,t))}function Cue(n,e){return nO(p$n(n.a,e,!0))}function Tue(n,e){return nO(v$n(n.a,e,!0))}function bo(n,e){return pj(new Array(e),n)}function eD(n){return String.fromCharCode(n)}function Mue(n){return n==null?null:n.message}function Ljn(){this.a=new X,this.b=new X}function Njn(){this.a=new LH,this.b=new Umn}function Bjn(){this.b=new Li,this.c=new X}function pU(){this.d=new Li,this.e=new Li}function vU(){this.n=new Li,this.o=new Li}function kE(){this.n=new i2,this.i=new d2}function Rjn(){this.a=new v4n,this.b=new cwn}function _jn(){this.a=new X,this.d=new X}function Kjn(){this.b=new fi,this.a=new fi}function Hjn(){this.b=new we,this.a=new we}function qjn(){this.b=new E8n,this.a=new sgn}function Gjn(){kE.call(this),this.a=new Li}function T5(n){Jbe.call(this,n,(FC(),vR))}function mU(n,e,t,i){xE.call(this,n,e,t,i)}function Aue(n,e,t){t!=null&&JC(e,rx(n,t))}function Sue(n,e,t){t!=null&&YC(e,rx(n,t))}function kU(n,e,t){return t=ss(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function ki(n,e){return n.a-=e.a,n.b-=e.b,n}function Pue(n,e){return n.n.a=(_n(e),e+10)}function Iue(n,e){return n.n.a=(_n(e),e+10)}function Oue(n,e){return e==n||o4(sM(e),n)}function zjn(n,e){return it(n.a,e,"")==null}function Due(n,e){return H9(),!K3(e.d.i,n)}function $ue(n,e){tl(n.f)?Qme(n,e):Fve(n,e)}function Fue(n,e){var t;return t=e.Hh(n.a),t}function V0(n,e){vr.call(this,rm+n+Ra+e)}function g2(n,e,t,i){V.call(this,n,e,t,i)}function yU(n,e,t,i){V.call(this,n,e,t,i)}function Ujn(n,e,t,i){yU.call(this,n,e,t,i)}function Wjn(n,e,t,i){zE.call(this,n,e,t,i)}function tD(n,e,t,i){zE.call(this,n,e,t,i)}function jU(n,e,t,i){zE.call(this,n,e,t,i)}function Xjn(n,e,t,i){tD.call(this,n,e,t,i)}function EU(n,e,t,i){tD.call(this,n,e,t,i)}function Fn(n,e,t,i){jU.call(this,n,e,t,i)}function Vjn(n,e,t,i){EU.call(this,n,e,t,i)}function Qjn(n,e,t,i){yW.call(this,n,e,t,i)}function Jjn(n,e,t){this.a=n,Vz.call(this,e,t)}function Yjn(n,e,t){this.c=e,this.b=t,this.a=n}function xue(n,e,t){return n.d=u(e.Kb(t),164)}function CU(n,e){return n.Aj().Nh().Kh(n,e)}function TU(n,e){return n.Aj().Nh().Ih(n,e)}function Zjn(n,e){return _n(n),B(n)===B(e)}function An(n,e){return _n(n),B(n)===B(e)}function iD(n,e){return nO(p$n(n.a,e,!1))}function rD(n,e){return nO(v$n(n.a,e,!1))}function Lue(n,e){return n.b.sd(new D7n(n,e))}function Nue(n,e){return n.b.sd(new $7n(n,e))}function nEn(n,e){return n.b.sd(new F7n(n,e))}function MU(n,e,t){return n.lastIndexOf(e,t)}function Bue(n,e,t){return Zt(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Uc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Uc(n.a.d.p,e.a.d.p)}function Hue(n,e){return Zt(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?Fr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==jh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){pf||e&&(n.d=e)}function cD(n,e){var t;return t=e,!!VV(n,t)}function AU(n,e){this.c=n,DD.call(this,n,e)}function iEn(n){this.c=n,FO.call(this,IM,0)}function rEn(n,e){Voe.call(this,n,n.length,e)}function zue(n,e,t){return u(n.c,69).lk(e,t)}function yE(n,e,t){return u(n.c,69).mk(e,t)}function Uue(n,e,t){return tue(n,u(e,332),t)}function SU(n,e,t){return iue(n,u(e,332),t)}function Wue(n,e,t){return txn(n,u(e,332),t)}function cEn(n,e,t){return zve(n,u(e,332),t)}function M5(n,e){return e==null?null:ab(n.b,e)}function PU(n){return G0(n)?(_n(n),n):n.ke()}function jE(n){return!isNaN(n)&&!isFinite(n)}function uEn(n){Df(),this.a=(Pn(),new Wp(n))}function b8(n){h3(),this.d=n,this.a=new gw}function ks(n,e,t){this.a=n,this.b=e,this.c=t}function sEn(n,e,t){this.a=n,this.b=e,this.c=t}function oEn(n,e,t){this.d=n,this.b=t,this.a=e}function uD(n){yyn(this),_s(this),Vi(this,n)}function du(n){RO(this),GU(this.c,0,n.Pc())}function fEn(n){Uu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,Zf(),eu(Date.now())}function lEn(){lEn=N,Xin=new ou,XA=new ou}function sD(){sD=N,Rin=new iln,Pzn=new rln}function aEn(){aEn=N,Nne=F(Zn,rn,1,0,5,1)}function dEn(){dEn=N,eee=F(Zn,rn,1,0,5,1)}function IU(){IU=N,tee=F(Zn,rn,1,0,5,1)}function Df(){Df=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return hf(),$e((LSn(),Bzn),n)}function Que(n){return $T(),$e((qAn(),Gzn),n)}function Jue(n){return RC(),$e((GAn(),zzn),n)}function Yue(n){return dM(),$e((IOn(),Uzn),n)}function Zue(n){return _o(),$e(($Sn(),Vzn),n)}function nse(n){return Cu(),$e((FSn(),Jzn),n)}function ese(n){return Jc(),$e((xSn(),Zzn),n)}function tse(n){return SM(),$e((Ukn(),jUn),n)}function ise(n){return Hd(),$e((mPn(),CUn),n)}function rse(n){return K2(),$e((kPn(),MUn),n)}function cse(n){return d6(),$e((yPn(),PUn),n)}function use(n){return Aj(),$e((yAn(),IUn),n)}function sse(n){return _C(),$e((zAn(),WUn),n)}function ose(n){return W5(),$e((NSn(),bWn),n)}function fse(n){return Qi(),$e((JPn(),vWn),n)}function hse(n){return G3(),$e((vPn(),EWn),n)}function lse(n){return qd(),$e((BSn(),PWn),n)}function OU(n,e){if(!n)throw T(new Hn(e))}function ase(n){return Qn(),$e((vIn(),$Wn),n)}function DU(n){xE.call(this,n.d,n.c,n.a,n.b)}function oD(n){xE.call(this,n.d,n.c,n.a,n.b)}function $U(n,e,t){this.b=n,this.c=e,this.a=t}function EE(n,e,t){this.b=n,this.a=e,this.c=t}function bEn(n,e,t){this.a=n,this.b=e,this.c=t}function FU(n,e,t){this.a=n,this.b=e,this.c=t}function wEn(n,e,t){this.a=n,this.b=e,this.c=t}function xU(n,e,t){this.a=n,this.b=e,this.c=t}function gEn(n,e,t){this.b=n,this.a=e,this.c=t}function CE(n,e,t){this.e=e,this.b=n,this.d=t}function dse(n,e,t){return ca(),n.a.Od(e,t),e}function fD(n){var e;return e=new Dln,e.e=n,e}function LU(n){var e;return e=new Zmn,e.b=n,e}function w8(){w8=N,sS=new Fdn,oS=new xdn}function wo(){wo=N,WWn=new pbn,XWn=new vbn}function bse(n){return aT(),$e((EPn(),HWn),n)}function wse(n){return ff(),$e((TPn(),JWn),n)}function gse(n){return lM(),$e((mOn(),cXn),n)}function pse(n){return q2(),$e((yIn(),uXn),n)}function vse(n){return OC(),$e((JAn(),sXn),n)}function mse(n){return F2(),$e((RSn(),oXn),n)}function kse(n){return Vw(),$e((UPn(),ZWn),n)}function yse(n){return Kd(),$e((HSn(),rXn),n)}function jse(n){return VC(),$e((_Sn(),fXn),n)}function Ese(n){return Pa(),$e((GPn(),hXn),n)}function Cse(n){return V8(),$e((WAn(),lXn),n)}function Tse(n){return ya(),$e((KSn(),dXn),n)}function Mse(n){return eM(),$e((TIn(),bXn),n)}function Ase(n){return K8(),$e((XAn(),wXn),n)}function Sse(n){return A7(),$e((EIn(),gXn),n)}function Pse(n){return h4(),$e((jIn(),pXn),n)}function Ise(n){return or(),$e((zOn(),vXn),n)}function Ose(n){return q3(),$e((GSn(),mXn),n)}function Dse(n){return Nh(),$e((qSn(),yXn),n)}function $se(n){return kC(),$e((YAn(),jXn),n)}function Fse(n){return Ss(),$e((WPn(),EXn),n)}function xse(n){return JT(),$e((CIn(),BQn),n)}function Lse(n){return i6(),$e((zSn(),RQn),n)}function Nse(n){return wb(),$e((MPn(),_Qn),n)}function Bse(n){return ur(),$e((XSn(),UQn),n)}function Rse(n){return Zw(),$e((vOn(),HQn),n)}function _se(n){return Rh(),$e((WSn(),qQn),n)}function Kse(n){return z8(),$e((QAn(),GQn),n)}function Hse(n){return oT(),$e((USn(),WQn),n)}function qse(n){return b6(),$e((zPn(),KQn),n)}function Gse(n){return x8(),$e((VAn(),XQn),n)}function zse(n){return Q3(),$e((QSn(),VQn),n)}function Use(n){return uT(),$e((JSn(),QQn),n)}function Wse(n){return dT(),$e((VSn(),JQn),n)}function Xse(n){return _d(),$e((YSn(),hJn),n)}function Vse(n){return z5(),$e((nSn(),wJn),n)}function Qse(n){return Ff(),$e((eSn(),jJn),n)}function Jse(n){return ef(),$e((tSn(),CJn),n)}function Yse(n){return No(),$e((ZAn(),RJn),n)}function Zse(n){return Id(),$e((iSn(),UJn),n)}function noe(n){return c4(),$e((jPn(),WJn),n)}function eoe(n){return k6(),$e((MIn(),VJn),n)}function toe(n){return aC(),$e((uSn(),fYn),n)}function ioe(n){return iT(),$e((cSn(),wYn),n)}function roe(n){return gC(),$e((rSn(),hYn),n)}function coe(n){return CT(),$e((ZSn(),pYn),n)}function uoe(n){return $C(),$e((sSn(),vYn),n)}function soe(n){return f7(),$e((nPn(),mYn),n)}function ooe(n){return qT(),$e((CPn(),FYn),n)}function foe(n){return sT(),$e((tPn(),xYn),n)}function hoe(n){return ET(),$e((ePn(),LYn),n)}function loe(n){return g4(),$e((QPn(),tZn),n)}function aoe(n){return w7(),$e((iPn(),iZn),n)}function doe(n){return Pj(),$e((mAn(),rZn),n)}function boe(n){return Ij(),$e((vAn(),uZn),n)}function woe(n){return L8(),$e((fSn(),sZn),n)}function goe(n){return P7(),$e((XPn(),oZn),n)}function poe(n){return Jv(),$e((kAn(),CZn),n)}function voe(n){return c7(),$e((oSn(),TZn),n)}function moe(n){return Ho(),$e((VPn(),OZn),n)}function koe(n){return y1(),$e((kOn(),$Zn),n)}function yoe(n){return oh(),$e((kIn(),FZn),n)}function joe(n){return vb(),$e((mIn(),_Zn),n)}function Eoe(n){return rr(),$e((Wkn(),RWn),n)}function Coe(n){return B3(),$e((UAn(),BWn),n)}function Toe(n){return sr(),$e((YPn(),ene),n)}function Moe(n){return sf(),$e((cPn(),tne),n)}function Aoe(n){return Hh(),$e((PPn(),ine),n)}function Soe(n){return ZT(),$e((SIn(),rne),n)}function Poe(n){return _h(),$e((rPn(),une),n)}function Ioe(n){return cs(),$e((SPn(),one),n)}function Ooe(n){return jb(),$e((POn(),fne),n)}function Doe(n){return qw(),$e((ZPn(),hne),n)}function $oe(n){return Ti(),$e((bIn(),lne),n)}function Foe(n){return Tu(),$e((AIn(),ane),n)}function xoe(n){return Vu(),$e((OPn(),vne),n)}function Loe(n){return xu(),$e((UOn(),mne),n)}function Noe(n){return J(),$e((nIn(),dne),n)}function Boe(n){return AT(),$e((IPn(),kne),n)}function Roe(n){return Xu(),$e((APn(),Ene),n)}function _oe(n){return d4(),$e((yOn(),Lne),n)}function Koe(n,e){return _n(n),n+(_n(e),e)}function Hoe(n,e){return Zf(),me(R(n.a),e)}function qoe(n,e){return Zf(),me(R(n.a),e)}function hD(n,e){this.c=n,this.a=e,this.b=e-n}function pEn(n,e,t){this.a=n,this.b=e,this.c=t}function NU(n,e,t){this.a=n,this.b=e,this.c=t}function BU(n,e,t){this.a=n,this.b=e,this.c=t}function vEn(n,e,t){this.a=n,this.b=e,this.c=t}function mEn(n,e,t){this.a=n,this.b=e,this.c=t}function s1(n,e,t){this.e=n,this.a=e,this.c=t}function kEn(n,e,t){ms(),QW.call(this,n,e,t)}function lD(n,e,t){ms(),FW.call(this,n,e,t)}function RU(n,e,t){ms(),FW.call(this,n,e,t)}function _U(n,e,t){ms(),FW.call(this,n,e,t)}function yEn(n,e,t){ms(),lD.call(this,n,e,t)}function KU(n,e,t){ms(),lD.call(this,n,e,t)}function jEn(n,e,t){ms(),KU.call(this,n,e,t)}function EEn(n,e,t){ms(),RU.call(this,n,e,t)}function CEn(n,e,t){ms(),_U.call(this,n,e,t)}function g8(n,e){return pe(n),pe(e),new z8n(n,e)}function v2(n,e){return pe(n),pe(e),new NEn(n,e)}function Goe(n,e){return pe(n),pe(e),new BEn(n,e)}function zoe(n,e){return pe(n),pe(e),new W8n(n,e)}function u(n,e){return A5(n==null||WF(n,e)),n}function f3(n){var e;return e=new X,_$(e,n),e}function Uoe(n){var e;return e=new fi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Ct,nF(e,n),e}function Woe(n){return!n.e&&(n.e=new X),n.e}function Xoe(n){return!n.c&&(n.c=new Bp),n.c}function W(n,e){return n.c[n.c.length]=e,!0}function MEn(n,e){this.c=n,this.b=e,this.a=!1}function HU(n){this.d=n,Ovn(this),this.b=_fe(n.d)}function AEn(){this.a=";,;",this.b="",this.c=""}function Voe(n,e,t){SCn.call(this,e,t),this.a=n}function SEn(n,e,t){this.b=n,Hkn.call(this,e,t)}function qU(n,e,t){this.c=n,Nj.call(this,e,t)}function GU(n,e,t){aY(t,0,n,e,t.length,!1)}function eh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function Qoe(n,e){e&&(n.b=e,n.a=(fl(e),e.a))}function zU(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function UU(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function WU(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function XU(n){return bl(the($r(n)?Ks(n):n))}function Joe(n,e){return Uc(GEn(n.d),GEn(e.d))}function Yoe(n,e){return e==(J(),Gn)?n.c:n.d}function h3(){h3=N,don=(J(),Gn),dP=Vn}function PEn(){this.b=K(Y(cn((Go(),xR))))}function IEn(n){return ca(),F(Zn,rn,1,n,5,1)}function Zoe(n){return new fn(n.c+n.b,n.d+n.a)}function nfe(n,e){return Sj(),Uc(n.d.p,e.d.p)}function aD(n){return ne(n.b!=0),Ts(n,n.a.a)}function efe(n){return ne(n.b!=0),Ts(n,n.c.b)}function VU(n,e){if(!n)throw T(new R9n(e))}function TE(n,e){if(!n)throw T(new Hn(e))}function QU(n,e,t){t3.call(this,n,e),this.b=t}function v8(n,e,t){lz.call(this,n,e),this.c=t}function OEn(n,e,t){oIn.call(this,e,t),this.d=n}function JU(n){IU(),Yy.call(this),this.th(n)}function DEn(n,e,t){this.a=n,Ew.call(this,e,t)}function $En(n,e,t){this.a=n,Ew.call(this,e,t)}function ME(n,e,t){lz.call(this,n,e),this.c=t}function FEn(){T3(),khe.call(this,(Z1(),uo))}function xEn(n){return n!=null&&!$F(n,a9,d9)}function tfe(n,e){return(GDn(n)<<4|GDn(e))&Ut}function ife(n,e){return QE(),ex(n,e),new oTn(n,e)}function sa(n,e){var t;n.n&&(t=e,W(n.f,t))}function l3(n,e,t){var i;i=new Z0(t),Ro(n,e,i)}function rfe(n,e){var t;return t=n.c,wV(n,e),t}function YU(n,e){return e<0?n.g=-1:n.g=e,n}function AE(n,e){return H0e(n),n.a*=e,n.b*=e,n}function LEn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function Ke(n,e){return Kt(n,e,n.c.b,n.c),!0}function ZU(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function dD(n){this.b=n,this.a=Ed(this.b.a).Ed()}function NEn(n,e){this.b=n,this.a=e,TI.call(this)}function BEn(n,e){this.a=n,this.b=e,TI.call(this)}function REn(n,e){SCn.call(this,e,1040),this.a=n}function m8(n){return n==0||isNaN(n)?n:n<0?-1:1}function cfe(n){return C2(),fh(n)==At(ml(n))}function ufe(n){return C2(),ml(n)==At(fh(n))}function jd(n,e){return v6(n,new t3(e.a,e.b))}function sfe(n){return!Xi(n)&&n.c.i.c==n.d.i.c}function SE(n){var e;return e=n.n,n.a.b+e.d+e.a}function _En(n){var e;return e=n.n,n.e.b+e.d+e.a}function nW(n){var e;return e=n.n,n.e.a+e.b+e.c}function KEn(n){return Je(),new th(0,n)}function ofe(n){return n.a?n.a:WD(n)}function A5(n){if(!n)throw T(new Up(null))}function HEn(){HEn=N,mH=(Pn(),new OI(XB))}function PE(){PE=N,new JQ((HI(),uR),(qI(),cR))}function qEn(){qEn=N,jin=F(Wi,q,19,256,0,1)}function bD(n,e,t,i){MQ.call(this,n,e,t,i,0,0)}function ffe(n,e,t){return it(n.b,u(t.b,17),e)}function hfe(n,e,t){return it(n.b,u(t.b,17),e)}function lfe(n,e){return W(n,new fn(e.a,e.b))}function afe(n,e){return n.c=e)throw T(new qq)}function Xfe(n,e,t){return Mt(e,0,rW(e[0],t[0])),e}function Vfe(n,e,t){e.Ye(t,K(Y(te(n.b,t)))*n.a)}function ACn(n,e,t){return eg(),R3(n,e)&&R3(n,t)}function D5(n){return Tu(),!n.Hc(n1)&&!n.Hc(Gl)}function qE(n){return new fn(n.c+n.b/2,n.d+n.a/2)}function MD(n,e){return e.kh()?pl(n.b,u(e,49)):e}function kW(n,e){this.e=n,this.d=e&64?e|Nf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Nf}function GE(n){this.b=new Pc(11),this.a=(Ow(),n)}function AD(n){this.b=null,this.a=(Ow(),n||Lin)}function PCn(n){this.a=Y$n(n.a),this.b=new du(n.b)}function ICn(n){this.b=n,b2.call(this,n),$yn(this)}function OCn(n){this.b=n,u8.call(this,n),Fyn(this)}function Y0(n,e,t){this.a=n,g2.call(this,e,t,5,6)}function yW(n,e,t,i){this.b=n,Jt.call(this,e,t,i)}function wi(n,e,t,i,r){D$.call(this,n,e,t,i,r,-1)}function $5(n,e,t,i,r){R8.call(this,n,e,t,i,r,-1)}function V(n,e,t,i){Jt.call(this,n,e,t),this.b=i}function zE(n,e,t,i){v8.call(this,n,e,t),this.b=i}function DCn(n){xkn.call(this,n,!1),this.a=!1}function $Cn(n,e){this.b=n,bvn.call(this,n.b),this.a=e}function FCn(n,e){nb(),Yie.call(this,n,mT(new Ku(e)))}function UE(n,e){return Je(),new xW(n,e,0)}function SD(n,e){return Je(),new xW(6,n,e)}function Qfe(n,e){return An(n.substr(0,e.length),e)}function zu(n,e){return mi(e)?QD(n,e):!!Ar(n.f,e)}function Oi(n,e){for(_n(e);n.Ob();)e.td(n.Pb())}function Pw(n,e,t){jl(),this.e=n,this.d=e,this.a=t}function o1(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function jW(n){var e;for(e=n;e.f;)e=e.f;return e}function y2(n){var e;return e=t6(n),ne(e!=null),e}function Jfe(n){var e;return e=Lge(n),ne(e!=null),e}function d3(n,e){var t;return t=n.a.gc(),$X(e,t),t-e}function EW(n,e){var t;for(t=0;t0?j.Math.log(n/e):-100}function xCn(n,e){return fc(n,e)<0?-1:fc(n,e)>0?1:0}function SW(n,e,t){return MRn(n,u(e,46),u(t,167))}function LCn(n,e){return u(vW(Ed(n.a)).Xb(e),42).cd()}function uhe(n,e){return P0e(e,n.length),new REn(n,e)}function DD(n,e){this.d=n,ie.call(this,n),this.e=e}function Cd(n){this.d=(_n(n),n),this.a=0,this.c=IM}function PW(n,e){cd.call(this,1),this.a=n,this.b=e}function NCn(n,e){return n.c?NCn(n.c,e):W(n.b,e),n}function she(n,e,t){var i;return i=ub(n,e),g$(n,e,t),i}function IW(n,e){var t;return t=n.slice(0,e),WX(t,n)}function BCn(n,e,t){var i;for(i=0;i=n.g}function KD(n,e,t){var i;return i=Y$(n,e,t),rZ(n,i)}function j2(n,e){var t;t=n.a.length,ub(n,t),g$(n,t,e)}function ZCn(n,e){var t;t=console[n],t.call(console,e)}function nTn(n,e){var t;++n.j,t=n.Vi(),n.Ii(n.oi(t,e))}function mhe(n,e,t){u(e.b,65),Yc(e.a,new NU(n,t,e))}function FW(n,e,t){uj.call(this,e),this.a=n,this.b=t}function xW(n,e,t){cd.call(this,n),this.a=e,this.b=t}function LW(n,e,t){this.a=n,xq.call(this,e),this.b=t}function eTn(n,e,t){this.a=n,aX.call(this,8,e,null,t)}function khe(n){this.a=(_n(xe),xe),this.b=n,new tG}function tTn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function NW(n){this.c=n,this.b=n.a.d.a,rU(n.a.e,this)}function Uu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return j.Math.sqrt(n.a*n.a+n.b*n.b)}function Md(n,e){return a3(e,n.a.c.length),un(n.a,e)}function $f(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function yhe(n){return 0>=n?new PG:sbe(n-1)}function jhe(n){return aw?QD(aw,n):!1}function iTn(n){return n?n.dc():!n.Kc().Ob()}function Gi(n){return!n.a&&n.c?n.c.b:n.a}function Ehe(n){return!n.a&&(n.a=new Jt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Jt(ar,n,1)),n.d}function _n(n){if(n==null)throw T(new Nv);return n}function N5(n){n.c?n.c.He():(n.d=!0,S8e(n))}function fl(n){n.c?fl(n.c):(Ta(n),n.d=!0)}function rTn(n){KW(n.a),n.b=F(Zn,rn,1,n.b.length,5,1)}function Che(n,e){return Uc(e.j.c.length,n.j.c.length)}function The(n,e){n.c<0||n.b.b=0?n.Bh(t):bY(n,e)}function cTn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function Ahe(n){if(n.p!=4)throw T(new fu);return n.e}function She(n){if(n.p!=3)throw T(new fu);return n.e}function Phe(n){if(n.p!=6)throw T(new fu);return n.f}function Ihe(n){if(n.p!=6)throw T(new fu);return n.k}function Ohe(n){if(n.p!=3)throw T(new fu);return n.j}function Dhe(n){if(n.p!=4)throw T(new fu);return n.j}function BW(n){return!n.b&&(n.b=new sj(new KI)),n.b}function Sd(n){return n.c==-2&&Pte(n,Qve(n.g,n.b)),n.c}function g3(n,e){var t;return t=LD("",n),t.n=e,t.i=1,t}function $he(n,e){yD(u(e.b,65),n),Yc(e.a,new Aq(n))}function Fhe(n,e){me((!n.a&&(n.a=new l8(n,n)),n.a),e)}function uTn(n,e){this.b=n,DD.call(this,n,e),$yn(this)}function sTn(n,e){this.b=n,AU.call(this,n,e),Fyn(this)}function RW(n,e,t,i){bd.call(this,n,e),this.d=t,this.a=i}function VE(n,e,t,i){bd.call(this,n,t),this.a=e,this.f=i}function oTn(n,e){bce.call(this,obe(pe(n),pe(e))),this.a=e}function fTn(){UJ.call(this,Ka,(a8n(),hee)),tEe(this)}function hTn(){UJ.call(this,Vs,(Qp(),g1n)),lje(this)}function lTn(){Oe.call(this,"DELAUNAY_TRIANGULATION",0)}function xhe(n){return String.fromCharCode.apply(null,n)}function it(n,e,t){return mi(e)?kr(n,e,t):_c(n.f,e,t)}function _W(n){return Pn(),n?n.ve():(Ow(),Ow(),Bin)}function Lhe(n,e,t){return L2(),t.pg(n,u(e.cd(),146))}function aTn(n,e){return PE(),new JQ(new Wyn(n),new Uyn(e))}function Nhe(n){return is(n,AL),KC(qi(qi(5,n),n/10|0))}function QE(){QE=N,fzn=new GI(A(M(Ha,1),OM,42,0,[]))}function dTn(n){return!n.d&&(n.d=new _p(n.c.Cc())),n.d}function p3(n){return!n.a&&(n.a=new W9n(n.c.vc())),n.a}function bTn(n){return!n.b&&(n.b=new Wp(n.c.ec())),n.b}function rh(n,e){for(;e-- >0;)n=n<<1|(n<0?1:0);return n}function pc(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function Bhe(n,e){return qn(),u(e.b,19).ai&&++i,i}function Oh(n){var e,t;return t=(e=new ud,e),O3(t,n),t}function UD(n){var e,t;return t=(e=new ud,e),VJ(t,n),t}function Zhe(n,e){var t;return t=te(n.f,e),MV(e,t),null}function WD(n){var e;return e=hbe(n),e||null}function CTn(n){return!n.b&&(n.b=new V(di,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function t1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function i1e(n,e){return Zt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return Zt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?nu(n,e.b-n.f/2):Zc(n,e.a-n.g/2)}function MTn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ATn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ha(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function STn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function PTn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function ITn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function OTn(n,e){this.a=n,hue.call(this,n,u(n.d,15).Zc(e))}function XD(n){this.f=n,this.c=this.f.e,n.f>0&&qFn(this)}function DTn(n,e,t,i){this.b=n,this.c=i,FO.call(this,e,t)}function $Tn(n){return ne(n.b=0&&An(n.substr(t,e.length),e)}function hl(n,e,t,i,r,c,o){return new v$(n.e,e,t,i,r,c,o)}function QTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function JTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function YTn(n,e){this.g=n,this.d=A(M(vh,1),E1,10,0,[e])}function f1(n,e){this.e=n,this.a=Zn,this.b=yBn(e),this.c=e}function ZTn(n,e){kE.call(this),eV(this),this.a=n,this.c=e}function M8(n,e,t,i){Mt(n.c[e.g],t.g,i),Mt(n.c[t.g],e.g,i)}function ZD(n,e,t,i){Mt(n.c[e.g],e.g,t),Mt(n.b[e.g],e.g,i)}function M1e(){return x8(),A(M(ron,1),z,376,0,[uK,iy])}function A1e(){return K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])}function S1e(){return V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])}function P1e(){return OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])}function I1e(){return kC(),A(M(fun,1),z,420,0,[j_,oun])}function O1e(){return z8(),A(M(non,1),z,421,0,[iK,rK])}function D1e(){return z5(),A(M(bJn,1),z,523,0,[Hm,Km])}function $1e(){return No(),A(M(BJn,1),z,520,0,[tw,Bl])}function F1e(){return Ff(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return ef(),A(M(EJn,1),z,515,0,[Ja,kf])}function L1e(){return Id(),A(M(zJn,1),z,455,0,[Rl,Lg])}function N1e(){return gC(),A(M(Son,1),z,425,0,[yK,Aon])}function B1e(){return aC(),A(M(Mon,1),z,480,0,[kK,Ton])}function R1e(){return iT(),A(M(Pon,1),z,495,0,[EP,mv])}function _1e(){return $C(),A(M(Oon,1),z,426,0,[Ion,TK])}function K1e(){return c7(),A(M(Ffn,1),z,429,0,[DP,$fn])}function H1e(){return L8(),A(M(afn,1),z,430,0,[FK,IP])}function q1e(){return $T(),A(M(Jin,1),z,428,0,[yR,Qin])}function G1e(){return RC(),A(M(Zin,1),z,427,0,[Yin,jR])}function z1e(){return _C(),A(M(Arn,1),z,424,0,[$R,tS])}function U1e(){return B3(),A(M(NWn,1),z,511,0,[_k,UR])}function sC(n,e,t,i){return t>=0?n.jh(e,t,i):n.Sg(null,t,i)}function n$(n){return n.b.b==0?n.a.$e():aD(n.b)}function W1e(n){if(n.p!=5)throw T(new fu);return ge(n.f)}function X1e(n){if(n.p!=5)throw T(new fu);return ge(n.k)}function VW(n){return B(n.a)===B((eF(),gH))&&Vje(n),n.a}function nMn(n){this.a=u(pe(n),271),this.b=(Pn(),new Hz(n))}function eMn(n,e){bte(this,new fn(n.a,n.b)),wte(this,p8(e))}function Id(){Id=N,Rl=new iz(Y2,0),Lg=new iz(Z2,1)}function Ff(){Ff=N,M0=new ez(Z2,0),I1=new ez(Y2,1)}function Od(){rie.call(this,new s2(sb(12))),Bz(!0),this.a=2}function e$(n,e,t){Je(),cd.call(this,n),this.b=e,this.a=t}function QW(n,e,t){ms(),uj.call(this,e),this.a=n,this.b=t}function tMn(n){kE.call(this),eV(this),this.a=n,this.c=!0}function iMn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function oC(n){var e;ebe(n.a),byn(n.a),e=new tj(n.a),TQ(e)}function V1e(n,e){aBn(n,!0),Yc(n.e.wf(),new $U(n,!0,e))}function fC(n,e){return LAn(e),Y0e(n,F(be,Le,25,e,15,1),e)}function Q1e(n,e){return C2(),n==At(fh(e))||n==At(ml(e))}function vc(n,e){return e==null?Vr(Ar(n.f,null)):n5(n.g,e)}function J1e(n){return n.b==0?null:(ne(n.b!=0),Ts(n,n.a.a))}function Gt(n){return Math.max(Math.min(n,nt),-2147483648)|0}function Y1e(n,e){var t=lR[n.charCodeAt(0)];return t??n}function hC(n,e){return tC(n,"set1"),tC(e,"set2"),new Z8n(n,e)}function Z1e(n,e){var t;return t=W0e(n.f,e),st(vE(t),n.f.d)}function R5(n,e){var t,i;return t=e,i=new dI,n_n(n,t,i),i.d}function t$(n,e,t,i){var r;r=new Gjn,e.a[t.g]=r,m2(n.b,i,r)}function JW(n,e,t){var i;i=n.Yg(e),i>=0?n.sh(i,t):_Y(n,e,t)}function Dw(n,e,t){dC(),n&&it(dH,n,e),n&&it($y,n,t)}function rMn(n,e,t){this.i=new X,this.b=n,this.g=e,this.a=t}function lC(n,e,t){this.c=new X,this.e=n,this.f=e,this.b=t}function YW(n,e,t){this.a=new X,this.e=n,this.f=e,this.c=t}function cMn(n,e){oE(this),this.f=e,this.g=n,eC(this),this._d()}function A8(n,e){var t;t=n.q.getHours(),n.q.setDate(e),S6(n,t)}function uMn(n,e){var t;for(pe(e),t=n.a;t;t=t.c)e.Od(t.g,t.i)}function sMn(n){var e;return e=new kj(sb(n.length)),qV(e,n),e}function nle(n){function e(){}return e.prototype=n||{},new e}function ele(n,e){return LOn(n,e)?(FIn(n),!0):!1}function Dh(n,e){if(e==null)throw T(new Nv);return Y2e(n,e)}function tle(n){if(n.qe())return null;var e=n.n;return RA[e]}function S8(n){return n.Db>>16!=3?null:u(n.Cb,33)}function nf(n){return n.Db>>16!=9?null:u(n.Cb,33)}function oMn(n){return n.Db>>16!=6?null:u(n.Cb,79)}function fMn(n){return n.Db>>16!=7?null:u(n.Cb,235)}function hMn(n){return n.Db>>16!=7?null:u(n.Cb,160)}function At(n){return n.Db>>16!=11?null:u(n.Cb,33)}function lMn(n,e){var t;return t=n.Yg(e),t>=0?n.lh(t):Ox(n,e)}function aMn(n,e){var t;return t=new iW(e),dxn(t,n),new du(t)}function ZW(n){var e;return e=n.d,e=n.si(n.f),me(n,e),e.Ob()}function dMn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function i$(n,e){return j.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new fi,this.g=0,this.i=0}function wMn(n){this.a=n,this.b=F(lJn,q,1944,n.e.length,0,2)}function r$(n,e,t){var i;i=tDn(n,e,t),n.b=new tT(i.c.length)}function ef(){ef=N,Ja=new nz(hN,0),kf=new nz("UP",1)}function aC(){aC=N,kK=new rz(PHn,0),Ton=new rz("FAN",1)}function dC(){dC=N,dH=new we,$y=new we,Ere(Azn,new z2n)}function rle(n){if(n.p!=0)throw T(new fu);return b5(n.f,0)}function cle(n){if(n.p!=0)throw T(new fu);return b5(n.k,0)}function gMn(n){return n.Db>>16!=3?null:u(n.Cb,147)}function y3(n){return n.Db>>16!=6?null:u(n.Cb,235)}function eb(n){return n.Db>>16!=17?null:u(n.Cb,26)}function pMn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.le(e))}function ule(n,e){var t;return t=n.a.get(e),t??new Array}function sle(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),S6(n,t)}function kr(n,e,t){return e==null?_c(n.f,null,t):Gd(n.g,e,t)}function _5(n,e,t,i,r,c){return new Lh(n.e,e,n.aj(),t,i,r,c)}function P8(n,e,t){return n.a=Yu(n.a,0,e)+(""+t)+r8(n.a,e),n}function ole(n,e,t){return W(n.a,(QE(),ex(e,t),new bd(e,t))),n}function nX(n){return _z(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function vMn(n){return _z(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function yr(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&W(n.i.j,n)}function mMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function kMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function yMn(n,e){this.a=n,this.c=Qr(this.a),this.b=new uC(e)}function fle(n){var e;return Ta(n),e=new fi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new vr(cnn+n+unn+e))}function eX(n,e){return lCn(n.a,e)?TW(n,u(e,22).g,null):null}function hle(n){return yF(),qn(),u(n.a,81).d.e!=0}function jMn(){jMn=N,azn=Fe((aj(),A(M(lzn,1),z,538,0,[fR])))}function EMn(){EMn=N,YQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function tX(){tX=N,ZQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function CMn(){CMn=N,eJn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function Zu(){Zu=N,mJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function c$(){c$=N,TJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function AMn(){AMn=N,lYn=ju(new hi,(c4(),Gm),(k6(),lK))}function aa(n,e,t,i){this.c=n,this.d=i,s$(this,e),o$(this,t)}function M2(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=j.Math.cos(n),this.b=j.Math.sin(n)}function s$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&W(n.b.f,n)}function SMn(n,e){mhe(n,n.b,n.c),u(n.b.b,65),e&&u(e.b,65).b}function lle(n,e){vQ(n,e),I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,e)}function bC(n,e){I(n.Cb,179)&&(u(n.Cb,179).tb=null),Ic(n,e)}function mc(n,e){return er(),R$(e)?new IE(e,n):new i8(e,n)}function ale(n,e){var t,i;t=e.c,i=t!=null,i&&j2(n,new Z0(e.c))}function PMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function IMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function OMn(n,e){var t;return t=new Rs(n),e.c[e.c.length]=t,t}function DMn(n,e){var t;return t=u(ab(T2(n.a),e),14),t?t.gc():0}function $Mn(n){var e;return Ta(n),e=(Ow(),Ow(),Nin),qC(n,e)}function FMn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function iX(n,e){tie.call(this,new s2(sb(n))),is(e,W_n),this.a=e}function ch(n,e,t){KDn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function xMn(n,e,t){var i;KDn(e,t,n.c.length),i=t-e,AG(n.c,e,i)}function dle(n,e){Dyn(n,ge(ci(cl(e,24),FM)),ge(ci(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new vr(cnn+n+unn+e))}function Me(n,e){if(n<0||n>=e)throw T(new wG(cnn+n+unn+e))}function xn(n,e){this.b=(_n(n),n),this.a=e&Ib?e:e|64|Nf}function LMn(n){dyn(this),Wmn(this.a,KV(j.Math.max(8,n))<<1)}function tf(n){return Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])}function ple(){return Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])}function vle(){return qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])}function mle(){return W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])}function kle(){return i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])}function yle(){return F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])}function jle(){return VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])}function Ele(){return ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])}function Cle(){return Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])}function Tle(){return Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])}function Mle(){return q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])}function Ale(){return ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])}function Sle(){return Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])}function Ple(){return oT(),A(M(ion,1),z,375,0,[eon,cK,ton])}function Ile(){return dT(),A(M(hon,1),z,377,0,[fK,pv,ew])}function Ole(){return Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])}function Dle(){return uT(),A(M(fon,1),z,338,0,[oon,oK,son])}function $le(){return _d(),A(M(fJn,1),z,454,0,[ry,_m,aP])}function Fle(){return CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])}function xle(){return f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])}function Lle(){return ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])}function Nle(){return sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])}function Ble(){return w7(),A(M(OK,1),z,437,0,[AP,SP,PP])}function Rle(){return _h(),A(M(Khn,1),z,334,0,[HP,F1,i9])}function _le(){return sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])}function Kle(n,e){return o9e(n,e,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Hle(n,e,t){var i;return i=O6(n,e,!1),i.b<=e&&i.a<=t}function NMn(n,e,t){var i;i=new Jwn,i.b=e,i.a=t,++e.b,W(n.d,i)}function qle(n,e){var t;return t=(_n(n),n).g,Yz(!!t),_n(e),t(e)}function rX(n,e){var t,i;return i=d3(n,e),t=n.a.Zc(i),new Y8n(n,t)}function Gle(n){return n.Db>>16!=6?null:u(Fx(n),235)}function zle(n){if(n.p!=2)throw T(new fu);return ge(n.f)&Ut}function Ule(n){if(n.p!=2)throw T(new fu);return ge(n.k)&Ut}function Wle(n){return n.a==(T3(),uI)&&Ste(n,C9e(n.g,n.b)),n.a}function A2(n){return n.d==(T3(),uI)&&Ite(n,pke(n.g,n.b)),n.d}function y(n){return ne(n.ai?1:0}function BMn(n,e){var t,i;return t=F$(e),i=t,u(te(n.c,i),19).a}function RMn(n,e){var t;for(t=n+"";t.length0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function rAn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function rae(n){return!!n.a&&Ou(n.a.a).i!=0&&!(n.b&&YF(n.b))}function cae(n){return!!n.u&&bc(n.u.a).i!=0&&!(n.n&&JF(n.n))}function cAn(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),16,new tvn(n))}function uae(n,e){return xCn(eu(n.q.getTime()),eu(e.q.getTime()))}function xf(n){return u(lf(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(lf(n,F(vh,E1,10,n.c.length,0,1)),193)}function sae(n){return Zu(),!Xi(n)&&!(!Xi(n)&&n.c.i.c==n.d.i.c)}function uAn(n,e,t){var i;i=(pe(n),new du(n)),N3e(new mMn(i,e,t))}function O8(n,e,t){var i;i=(pe(n),new du(n)),B3e(new kMn(i,e,t))}function sAn(n,e){var t;return t=1-e,n.a[t]=eT(n.a[t],t),eT(n,e)}function oAn(n,e){var t;n.e=new oG,t=Cb(e),bi(t,n.c),eBn(n,t,0)}function Ci(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.a,r)}function Z(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.b,r)}function po(n){var e,t,i;return e=new HCn,t=Zx(e,n),UEe(e),i=t,i}function hX(){var n,e,t;return e=(t=(n=new ud,n),t),W(M1n,e),e}function pC(n){return n.j.c=F(Zn,rn,1,0,5,1),KW(n.c),Khe(n.a),n}function $w(n){return Qv(),I(n.g,10)?u(n.g,10):null}function oae(n){return Iw(n).dc()?!1:(sce(n,new Np),!0)}function fae(n){if(!("stack"in n))try{throw n}catch{}return n}function D8(n,e){if(n<0||n>=e)throw T(new vr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new vr(W5e(n,e,t)))}function d$(n,e){if(ri(n.a,e),e.d)throw T(new _r(wKn));e.d=n}function b$(n,e){if(e.$modCount!=n.$modCount)throw T(new vs)}function hAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function lAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function aAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function hae(n,e){return n.a<=n.b?(e.ud(n.a++),!0):!1}function $d(n){var e;return $r(n)?(e=n,e==-0?0:e):m0e(n)}function vC(n){var e;return fl(n),e=new fln,vw(n.a,new Wvn(e)),e}function dAn(n){var e;return fl(n),e=new oln,vw(n.a,new Uvn(e)),e}function Ii(n,e){this.a=n,$v.call(this,n),tb(e,n.gc()),this.b=e}function lX(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function lae(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),273,new evn(n))}function mC(n){return new Pc((is(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(lf(n,F(FWn,UKn,11,n.c.length,0,1)),1943)}function aae(n,e,t){return t.f.c.length>0?SW(n.a,e,t):SW(n.b,e,t)}function dae(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Q0(n.d.e,t,n)}function w$(n,e){uTe(e,n),WU(n.d),WU(u(k(n,(nn(),eP)),207))}function H5(n,e){cTe(e,n),UU(n.d),UU(u(k(n,(nn(),eP)),207))}function Fd(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.fe()),i}function j3(n,e){var t,i;return t=ub(n,e),i=null,t&&(i=t.ie()),i}function q5(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.ie()),i}function $h(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=tY(t)),i}function bae(n,e,t){var i;return i=i4(t),gM(n.g,i,e),gM(n.i,e,t),e}function wae(n,e,t){var i;i=q2e();try{return kue(n,e,t)}finally{Mae(i)}}function wAn(n){var e;e=n.Wg(),this.a=I(e,69)?u(e,69).Zh():e.Kc()}function hi(){P9n.call(this),this.j.c=F(Zn,rn,1,0,5,1),this.a=-1}function aX(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function gAn(n,e,t,i){this.e=i,this.d=null,this.c=n,this.a=e,this.b=t}function dX(n,e,t){this.d=new r6n(this),this.e=n,this.i=e,this.f=t}function kC(){kC=N,j_=new QG(I4,0),oun=new QG("TOP_LEFT",1)}function pAn(){pAn=N,aon=aTn(Q(1),Q(4)),lon=aTn(Q(1),Q(2))}function vAn(){vAn=N,uZn=Fe((Ij(),A(M(cZn,1),z,551,0,[$K])))}function mAn(){mAn=N,rZn=Fe((Pj(),A(M(lfn,1),z,482,0,[DK])))}function kAn(){kAn=N,CZn=Fe((Jv(),A(M(Dfn,1),z,530,0,[hy])))}function yAn(){yAn=N,IUn=Fe((Aj(),A(M(krn,1),z,481,0,[SR])))}function gae(){return Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])}function pae(){return FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])}function vae(){return d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])}function mae(){return K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])}function kae(){return G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])}function yae(){return aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])}function jAn(n,e,t,i){return I(t,54)?new ojn(n,e,t,i):new pW(n,e,t,i)}function jae(){return ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])}function Eae(n){var e;return n.j==(J(),ae)&&(e=GLn(n),au(e,Vn))}function Cae(n,e){var t;t=e.a,Hi(t,e.c.d),Ei(t,e.d.d),fb(t.a,n.n)}function EAn(n,e){return u(yd(KE(u(ct(n.k,e),15).Oc(),jg)),113)}function CAn(n,e){return u(yd(HE(u(ct(n.k,e),15).Oc(),jg)),113)}function Tae(n){return new xn(jbe(u(n.a.dd(),14).gc(),n.a.cd()),16)}function E3(n){return I(n,14)?u(n,14).dc():!n.Kc().Ob()}function S2(n){return Qv(),I(n.g,145)?u(n.g,145):null}function TAn(n){if(n.e.g!=n.b)throw T(new vs);return!!n.c&&n.d>0}function Re(n){return ne(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function bX(n,e){_n(e),Mt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,MFn(n)}function ll(n,e){_n(e),n.b=n.b-1&n.a.length-1,Mt(n.a,n.b,e),MFn(n)}function MAn(n,e){var t;for(t=n.j.c.length;t0&&gc(n.g,0,e,0,n.i),e}function IAn(n,e){$j();var t;return t=u(te(eI,n),55),!t||t.wj(e)}function Bae(n){if(n.p!=1)throw T(new fu);return ge(n.f)<<24>>24}function Rae(n){if(n.p!=1)throw T(new fu);return ge(n.k)<<24>>24}function _ae(n){if(n.p!=7)throw T(new fu);return ge(n.k)<<16>>16}function Kae(n){if(n.p!=7)throw T(new fu);return ge(n.f)<<16>>16}function Fh(n){var e;for(e=0;n.Ob();)n.Pb(),e=qi(e,1);return KC(e)}function OAn(n,e){var t;return t=new R0,n.xd(t),t.a+="..",e.yd(t),t.a}function Hae(n,e,t){var i;i=u(te(n.g,t),57),W(n.a.c,new Pi(e,i))}function qae(n,e,t){return TD(Y(Vr(Ar(n.f,e))),Y(Vr(Ar(n.f,t))))}function yC(n,e,t){return vM(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Gae(n,e,t){return m4(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function zae(n,e,t){return b9e(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function pX(n,e){return n==(Qn(),ti)&&e==ti?4:n==ti||e==ti?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?iu:Lr(e)}function Uae(n,e){return u(e==null?Vr(Ar(n.f,null)):n5(n.g,e),281)}function $An(n,e,t){var i;return i=i4(t),it(n.b,i,e),it(n.c,e,t),e}function FAn(n,e){var t;for(t=e;t;)U0(n,t.i,t.j),t=At(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function uh(n,e){er();var t;return t=u(n,66).Mj(),M5e(t,e),t.Ok(e)}function Wae(n,e,t,i,r){var c;c=m9e(r,t,i),W(e,p6e(r,c)),o5e(n,r,e)}function xAn(n,e,t){n.i=0,n.e=0,e!=t&&(uDn(n,e,t),cDn(n,e,t))}function mX(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+Tl),S6(n,t)}function Xae(n,e,t){if(t){var i=t.ee();n.a[e]=i(t)}else delete n.a[e]}function g$(n,e,t){if(t){var i=t.ee();t=i(t)}else t=void 0;n.a[e]=t}function LAn(n){if(n<0)throw T(new K9n("Negative array size: "+n))}function bc(n){return n.n||(Iu(n),n.n=new wCn(n,ar,n),Mr(n)),n.n}function G5(n){return ne(n.a=0&&n.a[t]===e[t];t--);return t<0}function KAn(n,e){V3();var t;return t=n.j.g-e.j.g,t!=0?t:0}function HAn(n,e){return _n(e),n.a!=null?$fe(e.Kb(n.a)):UA}function jC(n){var e;return n?new iW(n):(e=new Sh,nF(e,n),e)}function es(n,e){var t;return e.b.Kb(FPn(n,e.c.Ee(),(t=new Jvn(e),t)))}function EC(n){_J(),Dyn(this,ge(ci(cl(n,24),FM)),ge(ci(n,FM)))}function qAn(){qAn=N,Gzn=Fe(($T(),A(M(Jin,1),z,428,0,[yR,Qin])))}function GAn(){GAn=N,zzn=Fe((RC(),A(M(Zin,1),z,427,0,[Yin,jR])))}function zAn(){zAn=N,WUn=Fe((_C(),A(M(Arn,1),z,424,0,[$R,tS])))}function UAn(){UAn=N,BWn=Fe((B3(),A(M(NWn,1),z,511,0,[_k,UR])))}function WAn(){WAn=N,lXn=Fe((V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])))}function XAn(){XAn=N,wXn=Fe((K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])))}function VAn(){VAn=N,XQn=Fe((x8(),A(M(ron,1),z,376,0,[uK,iy])))}function QAn(){QAn=N,GQn=Fe((z8(),A(M(non,1),z,421,0,[iK,rK])))}function JAn(){JAn=N,sXn=Fe((OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])))}function YAn(){YAn=N,jXn=Fe((kC(),A(M(fun,1),z,420,0,[j_,oun])))}function ZAn(){ZAn=N,RJn=Fe((No(),A(M(BJn,1),z,520,0,[tw,Bl])))}function nSn(){nSn=N,wJn=Fe((z5(),A(M(bJn,1),z,523,0,[Hm,Km])))}function eSn(){eSn=N,jJn=Fe((Ff(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((ef(),A(M(EJn,1),z,515,0,[Ja,kf])))}function iSn(){iSn=N,UJn=Fe((Id(),A(M(zJn,1),z,455,0,[Rl,Lg])))}function rSn(){rSn=N,hYn=Fe((gC(),A(M(Son,1),z,425,0,[yK,Aon])))}function cSn(){cSn=N,wYn=Fe((iT(),A(M(Pon,1),z,495,0,[EP,mv])))}function uSn(){uSn=N,fYn=Fe((aC(),A(M(Mon,1),z,480,0,[kK,Ton])))}function sSn(){sSn=N,vYn=Fe(($C(),A(M(Oon,1),z,426,0,[Ion,TK])))}function oSn(){oSn=N,TZn=Fe((c7(),A(M(Ffn,1),z,429,0,[DP,$fn])))}function fSn(){fSn=N,sZn=Fe((L8(),A(M(afn,1),z,430,0,[FK,IP])))}function z5(){z5=N,Hm=new ZG("UPPER",0),Km=new ZG("LOWER",1)}function Yae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function Zae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function nde(n,e){var t,i;i=!1;do t=JOn(n,e),i=i|t;while(t);return i}function jX(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function hSn(n,e){var t;for(t=e;t;)U0(n,-t.i,-t.j),t=At(t);return n}function $i(n,e){var t,i;for(_n(e),i=n.Kc();i.Ob();)t=i.Pb(),e.td(t)}function lSn(n,e){var t;return t=e.cd(),new bd(t,n.e.pc(t,u(e.dd(),14)))}function Kt(n,e,t,i){var r;r=new aI,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Es(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function ede(n,e,t){return u(e==null?_c(n.f,null,t):Gd(n.g,e,t),281)}function k$(n){return n.c&&n.d?cX(n.c)+"->"+cX(n.d):"e_"+md(n)}function C3(n,e){return(Ta(n),Wv(new $n(n,new UX(e,n.a)))).sd(V4)}function tde(){return Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])}function ide(){return J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])}function rde(n){return gj(),function(){return wae(n,this,arguments)}}function cde(){return Date.now?Date.now():new Date().getTime()}function Xi(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function aSn(n){if(!n.c.Sb())throw T(new ic);return n.a=!0,n.c.Ub()}function $8(n){n.i=0,z9(n.b,null),z9(n.c,null),n.a=null,n.e=null,++n.g}function EX(n){are.call(this,n==null?iu:Lr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Ct,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn($t,$t),this.a=new fn(Vt,Vt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!pf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,pf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?An(n.c,u(e,149).c):!1}function TX(n,e){var t;return t=0,n&&(t+=n.f.a/2),e&&(t+=e.f.a/2),t}function j$(n,e){var t;return t=u(xd(n.d,e),23),t||u(xd(n.e,e),23)}function gSn(n){this.b=n,ie.call(this,n),this.a=u(Rn(this.b.a,4),126)}function pSn(n){this.b=n,w2.call(this,n),this.a=u(Rn(this.b.a,4),126)}function Iu(n){return n.t||(n.t=new Amn(n),s6(new _9n(n),0,n.t)),n.t}function ude(){return sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])}function sde(){return qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])}function ode(){return Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])}function fde(){return P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])}function hde(){return b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])}function lde(){return Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])}function ade(){return g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])}function dde(){return Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])}function bde(){return Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])}function T3(){T3=N;var n,e;cI=(Qp(),e=new fj,e),uI=(n=new BI,n)}function vSn(n){var e;return n.c||(e=n.r,I(e,88)&&(n.c=u(e,26))),n.c}function wde(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function E$(n){var e,t,i;return e=n&Lu,t=n>>22&Lu,i=n<0?Wh:0,Bc(e,t,i)}function gde(n){var e,t,i,r;for(t=n,i=0,r=t.length;i0?g$n(n,e):BNn(n,-e)}function MX(n,e){return e==0||n.e==0?n:e>0?BNn(n,e):g$n(n,-e)}function ve(n){if(Se(n))return n.c=n.a,n.a.Pb();throw T(new ic)}function kSn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Qn(),Xt)&&t.k==Xt}function C$(n){var e;return e=new Pd,Sr(e,n),H(e,(nn(),Tr),null),e}function T$(n,e,t){var i;return i=n.Yg(e),i>=0?n._g(i,t,!0):Yd(n,e,t)}function AX(n,e,t,i){var r;for(r=0;re)throw T(new vr(fY(n,e,"index")));return n}function M$(n,e,t,i){var r;return r=F(be,Le,25,e,15,1),Pve(r,n,e,t,i),r}function vde(n,e){var t;t=n.q.getHours()+(e/60|0),n.q.setMinutes(e),S6(n,t)}function mde(n,e){return j.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return mi(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function uf(n){this.c=n,this.a=new E(this.c.a),this.b=new E(this.c.b)}function TC(){this.e=new X,this.c=new X,this.d=new X,this.b=new X}function TSn(){this.g=new zq,this.b=new zq,this.a=new X,this.k=new X}function MSn(n,e,t){this.a=n,this.c=e,this.d=t,W(e.e,this),W(t.b,this)}function ASn(n,e){Hkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function SSn(n,e){qkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function FX(n,e){FO.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function MC(n,e,t){this.a=n,this.b=e,this.c=t,W(n.t,this),W(e.i,this)}function AC(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ii("separateLayerConnections",(aT(),QR))}function No(){No=N,tw=new tz("REGULAR",0),Bl=new tz("CRITICAL",1)}function x8(){x8=N,uK=new YG("STACKED",0),iy=new YG("SEQUENCED",1)}function L8(){L8=N,FK=new oz("FIXED",0),IP=new oz("CENTER_NODE",1)}function kde(n,e){var t;return t=CEe(n,e),n.b=new tT(t.c.length),Lje(n,t)}function yde(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].$c(t),133),i.dd()}function ISn(n){var e;return n.a||(e=n.r,I(e,148)&&(n.a=u(e,148))),n.a}function xX(n){if(n.a){if(n.e)return xX(n.e)}else return n;return null}function jde(n,e){return n.pe.p?-1:0}function PC(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function $Sn(){$Sn=N,Vzn=Fe((_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])))}function FSn(){FSn=N,Jzn=Fe((Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])))}function NSn(){NSn=N,bWn=Fe((W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])))}function BSn(){BSn=N,PWn=Fe((qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])))}function RSn(){RSn=N,oXn=Fe((F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])))}function _Sn(){_Sn=N,fXn=Fe((VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])))}function KSn(){KSn=N,dXn=Fe((ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])))}function HSn(){HSn=N,rXn=Fe((Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])))}function qSn(){qSn=N,yXn=Fe((Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])))}function GSn(){GSn=N,mXn=Fe((q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])))}function zSn(){zSn=N,RQn=Fe((i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])))}function USn(){USn=N,WQn=Fe((oT(),A(M(ion,1),z,375,0,[eon,cK,ton])))}function WSn(){WSn=N,qQn=Fe((Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])))}function XSn(){XSn=N,UQn=Fe((ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])))}function VSn(){VSn=N,JQn=Fe((dT(),A(M(hon,1),z,377,0,[fK,pv,ew])))}function QSn(){QSn=N,VQn=Fe((Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])))}function JSn(){JSn=N,QQn=Fe((uT(),A(M(fon,1),z,338,0,[oon,oK,son])))}function YSn(){YSn=N,hJn=Fe((_d(),A(M(fJn,1),z,454,0,[ry,_m,aP])))}function ZSn(){ZSn=N,pYn=Fe((CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])))}function nPn(){nPn=N,mYn=Fe((f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])))}function ePn(){ePn=N,LYn=Fe((ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])))}function tPn(){tPn=N,xYn=Fe((sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])))}function iPn(){iPn=N,iZn=Fe((w7(),A(M(OK,1),z,437,0,[AP,SP,PP])))}function rPn(){rPn=N,une=Fe((_h(),A(M(Khn,1),z,334,0,[HP,F1,i9])))}function cPn(){cPn=N,tne=Fe((sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Ti(),A(M(Ghn,1),z,98,0,[ql,jf,Tv,td,jh,Ac])}function wa(n,e){return!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),NF(n.o,e)}function Ide(n){return!n.g&&(n.g=new Qy),!n.g.d&&(n.g.d=new Cmn(n)),n.g.d}function Ode(n){return!n.g&&(n.g=new Qy),!n.g.a&&(n.g.a=new Tmn(n)),n.g.a}function Dde(n){return!n.g&&(n.g=new Qy),!n.g.b&&(n.g.b=new Emn(n)),n.g.b}function N8(n){return!n.g&&(n.g=new Qy),!n.g.c&&(n.g.c=new Mmn(n)),n.g.c}function $de(n,e,t){var i,r;for(r=new H3(e,n),i=0;it||e=0?n._g(t,!0,!0):Yd(n,e,!0)}function Qde(n,e){return Zt(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new hi,(c4(),qm)),(k6(),pP)),aK)}function Jde(n,e,t){var i;return i=tDn(n,e,t),n.b=new tT(i.c.length),JY(n,i)}function Yde(n){if(n.b<=0)throw T(new ic);return--n.b,n.a-=n.c.c,Q(n.a)}function Zde(n){var e;if(!n.a)throw T(new gTn);return e=n.a,n.a=At(n.a),e}function n0e(n){for(;!n.a;)if(!nEn(n.c,new Xvn(n)))return!1;return!0}function $2(n){var e;return pe(n),I(n,198)?(e=u(n,198),e):new dvn(n)}function e0e(n){DC(),u(n.We((Xe(),rw)),174).Fc((Tu(),Ty)),n.Ye(eH,null)}function DC(){DC=N,SZn=new n2n,IZn=new e2n,PZn=Rwe((Xe(),eH),SZn,_l,IZn)}function $C(){$C=N,Ion=new sz("LEAF_NUMBER",0),TK=new sz("NODE_SIZE",1)}function t0e(n,e,t){n.a=e,n.c=t,n.b.a.$b(),_s(n.d),n.e.a.c=F(Zn,rn,1,0,5,1)}function $$(n){n.a=F(be,Le,25,n.b+1,15,1),n.c=F(be,Le,25,n.b,15,1),n.d=0}function i0e(n,e){n.a.ue(e.d,n.b)>0&&(W(n.c,new QU(e.c,e.d,n.d)),n.b=e.d)}function zX(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.g[e]}function dPn(n,e,t){if(W3(n,t),t!=null&&!n.wj(t))throw T(new xI);return t}function bPn(n){var e;if(n.Ek())for(e=n.i-1;e>=0;--e)D(n,e);return gX(n)}function r0e(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function c0e(n,e){var t,i;return LAn(e),t=(i=n.slice(0,e),WX(i,n)),t.length=e,t}function S3(n,e,t,i){var r;i=(Ow(),i||Lin),r=n.slice(e,t),hY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?Yd(n,t,i):u(t,66).Nj().Pj(n,n.yh(),e,i,r)}function u0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ri(n.a,e),e.a=n,!n.j&&(n.j=e)}function UX(n,e){FO.call(this,e.rd(),e.qd()&-16449),_n(n),this.a=n,this.c=e}function gPn(n,e){var t,i;return i=e/n.c.Hd().gc()|0,t=e%n.c.Hd().gc(),D2(n,i,t)}function Cu(){Cu=N,Xf=new oO(Y2,0),Ol=new oO(I4,1),Co=new oO(Z2,2)}function FC(){FC=N,vR=new Lj("All",0),qin=new lyn,Gin=new Eyn,zin=new ayn}function pPn(){pPn=N,Dzn=Fe((FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])))}function vPn(){vPn=N,EWn=Fe((G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])))}function mPn(){mPn=N,CUn=Fe((Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])))}function kPn(){kPn=N,MUn=Fe((K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])))}function yPn(){yPn=N,PUn=Fe((d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])))}function jPn(){jPn=N,WJn=Fe((c4(),A(M(won,1),z,393,0,[gP,qm,uy,Gm])))}function EPn(){EPn=N,HWn=Fe((aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])))}function CPn(){CPn=N,FYn=Fe((qT(),A(M(zon,1),z,340,0,[SK,qon,Gon,Hon])))}function TPn(){TPn=N,JWn=Fe((ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])))}function MPn(){MPn=N,_Qn=Fe((wb(),A(M(Z_,1),z,197,0,[fP,Y_,xg,Fg])))}function APn(){APn=N,Ene=Fe((Xu(),A(M(jne,1),z,396,0,[ws,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((cs(),A(M(sne,1),z,285,0,[Ey,kh,Kl,jy])))}function PPn(){PPn=N,ine=Fe((Hh(),A(M(cH,1),z,218,0,[rH,yy,Cv,Sp])))}function IPn(){IPn=N,kne=Fe((AT(),A(M(Qhn,1),z,311,0,[oH,Whn,Vhn,Xhn])))}function OPn(){OPn=N,vne=Fe((Vu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=$t,Tee=Vt,x1n=new S9($t),Mee=new S9(Vt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A(Du(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Qc(n,e){var t;return t=Fr(n,e,0),t==-1?!1:(h1(n,t),!0)}function $Pn(n,e){var t;return t=u(O2(n.e,e),387),t?(ZU(t),t.e):null}function P3(n){var e;return $r(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function Fr(n,e,t){for(;t=0?BT(n,t,!0,!0):Yd(n,e,!0)}function YX(n,e){Qv();var t,i;return t=S2(n),i=S2(e),!!t&&!!i&&!V$n(t.k,i.k)}function a0e(n,e){Zc(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function b0e(n,e){Rd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function w0e(n,e){Bd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function BPn(n){(this.q?this.q:(Pn(),Pn(),ph)).Ac(n.q?n.q:(Pn(),Pn(),ph))}function g0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function p0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function RPn(n,e){vrn=new Wy,AUn=e,gm=n,u(gm.b,65),BX(gm,vrn,null),DRn(gm)}function B$(n,e,t){var i;return i=n.g[e],k5(n,e,n.oi(e,t)),n.gi(e,t,i),n.ci(),i}function BC(n,e){var t;return t=n.Xc(e),t>=0?(n.$c(t),!0):!1}function R$(n){var e;return n.d!=n.r&&(e=qs(n),n.e=!!e&&e.Cj()==kGn,n.d=e),n.e}function _$(n,e){var t;for(pe(n),pe(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function xd(n,e){var t;return t=u(te(n.e,e),387),t?(Oyn(n,t),t.e):null}function _Pn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function qr(n,e){var t,i;return Ta(n),i=new FX(e,n.a),t=new iEn(i),new $n(n,t)}function ub(n,e){var t=n.a[e],i=(cF(),dR)[typeof t];return i?i(t):tQ(typeof t)}function v0e(n){switch(n.g){case 0:return nt;case 1:return-1;default:return 0}}function m0e(n){return mJ(n,(I3(),pin))<0?-xce(z3(n)):n.l+n.m*J2+n.h*$a}function U8(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function K$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&J$(n,0),e}function KPn(n,e){for(;e[0]0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Si=Ki===void 0?{}:Ki,Mn=Ge.algorithms,Lc=Mn===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Mn,Nc=Ge.workerFactory,ps=Ge.workerUrl;if(j(this,Bt),this.defaultLayoutOptions=Si,this.initialized=!1,typeof ps>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Rr=Nc;typeof ps<"u"&&typeof Nc>"u"&&(Rr=function(q1){return new Worker(q1)});var Ch=Rr(ps);if(typeof Ch.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new ou(Ch),this.worker.postMessage({cmd:"register",algorithms:Lc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Ai(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Si=Ki.layoutOptions,Mn=Si===void 0?this.defaultLayoutOptions:Si,Lc=Ki.logging,Nc=Lc===void 0?!1:Lc,ps=Ki.measureExecutionTime,Rr=ps===void 0?!1:ps;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:Mn,options:{logging:Nc,measureExecutionTime:Rr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Bt}();Nt.default=Ht;var ou=function(){function Bt(qt){var Ge=this;if(j(this,Bt),qt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=qt,this.worker.onmessage=function(Ki){setTimeout(function(){Ge.receive(Ge,Ki)},0)}}return Ai(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Si=this;return new Promise(function(Mn,Lc){Si.resolvers[Ki]=function(Nc,ps){Nc?(Si.convertGwtStyleError(Nc),Lc(Nc)):Mn(ps)},Si.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Si=Ki.data,Mn=Ge.resolvers[Si.id];Mn&&(delete Ge.resolvers[Si.id],Si.error?Mn(Si.error):Mn(null,Si.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Ge){if(Ge){var Ki=Ge.__java$exception;Ki&&(Ki.cause&&Ki.cause.backingJsObject&&(Ge.cause=Ki.cause.backingJsObject,this.convertGwtStyleError(Ge.cause)),delete Ge.__java$exception)}}}]),Bt}()},{}],2:[function(ft,dt,Nt){(function(Ai){(function(){var j;typeof window<"u"?j=window:typeof Ai<"u"?j=Ai:typeof self<"u"&&(j=self);var Ht;function ou(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Si(){}function Mn(){}function Lc(){}function Nc(){}function ps(){}function Rr(){}function Ch(){}function H1(){}function q1(){}function ww(){}function Np(){}function G1(){}function Th(){}function Q1n(){}function J1n(){}function zy(){}function Y1n(){}function Z1n(){}function nln(){}function eln(){}function Xg(){}function N(){}function tln(){}function aI(){}function iln(){}function rln(){}function cln(){}function uln(){}function DH(){}function sln(){}function oln(){}function fln(){}function z1(){}function U1(){}function dI(){}function hln(){}function lln(){}function aln(){}function $H(){}function dln(){}function bln(){}function Vg(){}function Qg(){}function wln(){}function gln(){}function pln(){}function vln(){}function FH(){}function W1(){}function Jg(){}function Yg(){}function mln(){}function Vee(){}function bI(){}function kln(){}function yln(){}function jln(){}function Eln(){}function Cln(){}function Tln(){}function Mln(){}function Aln(){}function Sln(){}function Pln(){}function Iln(){}function Oln(){}function Dln(){}function $ln(){}function Fln(){}function xln(){}function Lln(){}function Nln(){}function Bln(){}function Rln(){}function _ln(){}function Kln(){}function Hln(){}function qln(){}function Gln(){}function zln(){}function Uln(){}function Wln(){}function Xln(){}function Vln(){}function Qln(){}function Jln(){}function Yln(){}function xH(){}function Zln(){}function nan(){}function ean(){}function tan(){}function wI(){}function gI(){}function Uy(){}function ian(){}function ran(){}function pI(){}function can(){}function uan(){}function san(){}function Wy(){}function oan(){}function fan(){}function han(){}function lan(){}function aan(){}function dan(){}function ban(){}function wan(){}function gan(){}function LH(){}function pan(){}function van(){}function man(){}function kan(){}function yan(){}function NH(){}function jan(){}function Ean(){}function Can(){}function Tan(){}function Man(){}function Aan(){}function San(){}function Pan(){}function Ian(){}function Oan(){}function Dan(){}function $an(){}function Fan(){}function xan(){}function vI(){}function Lan(){}function Nan(){}function Ban(){}function Ran(){}function _an(){}function BH(){}function Kan(){}function Han(){}function qan(){}function Gan(){}function zan(){}function Uan(){}function Wan(){}function Xan(){}function Van(){}function Qan(){}function Jan(){}function Yan(){}function Zan(){}function ndn(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function udn(){}function sdn(){}function odn(){}function fdn(){}function hdn(){}function ldn(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function gdn(){}function pdn(){}function vdn(){}function mdn(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Cdn(){}function Tdn(){}function Mdn(){}function Adn(){}function Sdn(){}function Pdn(){}function Idn(){}function Odn(){}function Ddn(){}function $dn(){}function Fdn(){}function xdn(){}function Ldn(){}function Ndn(){}function Bdn(){}function Rdn(){}function _dn(){}function Kdn(){}function Hdn(){}function qdn(){}function Gdn(){}function zdn(){}function Udn(){}function Wdn(){}function Xdn(){}function Vdn(){}function Qdn(){}function Jdn(){}function Ydn(){}function Zdn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function o0n(){}function f0n(){}function h0n(){}function l0n(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function C0n(){}function T0n(){}function M0n(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function D0n(){}function RH(){}function $0n(){}function F0n(){}function x0n(){}function L0n(){}function N0n(){}function B0n(){}function R0n(){}function _0n(){}function K0n(){}function H0n(){}function q0n(){}function G0n(){}function z0n(){}function U0n(){}function W0n(){}function X0n(){}function V0n(){}function Q0n(){}function J0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function obn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Tbn(){}function Mbn(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function Obn(){}function Dbn(){}function $bn(){}function Fbn(){}function xbn(){}function Lbn(){}function Nbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Kbn(){}function Hbn(){}function qbn(){}function Gbn(){}function zbn(){}function _H(){}function Ubn(){}function Wbn(){}function Xbn(){}function Vbn(){}function Qbn(){}function Jbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function own(){}function fwn(){}function hwn(){}function lwn(){}function KH(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function HH(){}function qH(){}function vwn(){}function GH(){}function zH(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Twn(){}function Mwn(){}function Awn(){}function UH(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function $wn(){}function Fwn(){}function xwn(){}function Lwn(){}function Nwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Kwn(){}function Hwn(){}function qwn(){}function Gwn(){}function zwn(){}function Uwn(){}function Wwn(){}function Xwn(){}function Vwn(){}function Qwn(){}function Jwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function ogn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Tgn(){}function Mgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function $gn(){}function Fgn(){}function xgn(){}function Lgn(){}function Ngn(){}function Bgn(){}function Rgn(){}function _gn(){}function Kgn(){}function mI(){}function kI(){}function yI(){}function Hgn(){}function qgn(){}function Ggn(){}function zgn(){}function Ugn(){}function WH(){}function Wgn(){}function Xgn(){}function Qee(){}function Vgn(){}function Qgn(){}function Jgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function Zl(){}function t2n(){}function Zg(){}function XH(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function s2n(){}function o2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function dn(){}function C2n(){}function T2n(){}function M2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function $2n(){}function jI(){}function F2n(){}function x2n(){}function L2n(){}function N2n(){}function B2n(){}function VH(){}function Xy(){}function Vy(){}function R2n(){}function QH(){}function Qy(){}function _2n(){}function K2n(){}function H2n(){}function q2n(){}function G2n(){}function z2n(){}function Jy(){}function U2n(){}function W2n(){}function X2n(){}function Yy(){}function V2n(){}function JH(){}function Q2n(){}function EI(){}function YH(){}function J2n(){}function Y2n(){}function Z2n(){}function npn(){}function Jee(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function opn(){}function fpn(){}function hpn(){}function Bp(){}function CI(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Tpn(){}function Mpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function $pn(){}function Fpn(){}function xpn(){}function Lpn(){}function Npn(){}function Bpn(){}function Rpn(){}function _pn(){}function Kpn(){}function Hpn(){}function qpn(){}function Gpn(){}function zpn(){}function Upn(){}function Wpn(){}function Xpn(){}function Vpn(){}function Qpn(){}function Jpn(){}function Ypn(){}function Zpn(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function o3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function T3n(){}function M3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function $3n(){}function F3n(){}function x3n(){}function L3n(){}function N3n(){}function B3n(){}function R3n(){}function _3n(){}function K3n(){}function H3n(){}function q3n(){}function G3n(){}function z3n(){}function U3n(){}function W3n(){}function X3n(){}function V3n(){}function Q3n(){}function J3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function ZH(){}function r4n(){}function c4n(){}function TI(){Rv()}function u4n(){pF()}function s4n(){a6()}function o4n(){WT()}function f4n(){YJ()}function h4n(){Go()}function l4n(){fJ()}function a4n(){C7()}function d4n(){q9()}function b4n(){H9()}function w4n(){w8()}function g4n(){v7n()}function p4n(){x2()}function v4n(){Sj()}function m4n(){PSn()}function k4n(){HIn()}function y4n(){sPn()}function j4n(){CMn()}function E4n(){V3()}function C4n(){yl()}function T4n(){qIn()}function M4n(){pAn()}function A4n(){zZ()}function S4n(){IFn()}function P4n(){TMn()}function I4n(){nn()}function O4n(){EMn()}function D4n(){GIn()}function $4n(){WOn()}function F4n(){AMn()}function x4n(){aPn()}function L4n(){m7n()}function N4n(){$Y()}function B4n(){gb()}function R4n(){pOn()}function _4n(){S7()}function K4n(){Ux()}function H4n(){ZF()}function q4n(){Zd()}function G4n(){PV()}function z4n(){MMn()}function U4n(){BBn()}function W4n(){IY()}function X4n(){Bx()}function V4n(){DC()}function Q4n(){nM()}function nq(){Xe()}function J4n(){wT()}function Y4n(){NQ()}function eq(){mM()}function Fo(){dEn()}function tq(){eF()}function Z4n(){pZ()}function iq(n){_n(n)}function nvn(n){this.a=n}function Zy(n){this.a=n}function evn(n){this.a=n}function tvn(n){this.a=n}function ivn(n){this.a=n}function rvn(n){this.a=n}function cvn(n){this.a=n}function uvn(n){this.a=n}function rq(n){this.a=n}function cq(n){this.a=n}function svn(n){this.a=n}function MI(n){this.a=n}function ovn(n){this.a=n}function AI(n){this.a=n}function fvn(n){this.a=n}function SI(n){this.a=n}function hvn(n){this.a=n}function PI(n){this.a=n}function lvn(n){this.a=n}function avn(n){this.a=n}function dvn(n){this.a=n}function uq(n){this.b=n}function bvn(n){this.c=n}function wvn(n){this.a=n}function gvn(n){this.a=n}function pvn(n){this.a=n}function vvn(n){this.a=n}function mvn(n){this.a=n}function kvn(n){this.a=n}function yvn(n){this.a=n}function jvn(n){this.a=n}function Evn(n){this.a=n}function Cvn(n){this.a=n}function Tvn(n){this.a=n}function Mvn(n){this.a=n}function Avn(n){this.a=n}function sq(n){this.a=n}function oq(n){this.a=n}function nj(n){this.a=n}function M9(n){this.a=n}function na(){this.a=[]}function Svn(n,e){n.a=e}function Yee(n,e){n.a=e}function Zee(n,e){n.b=e}function nte(n,e){n.b=e}function ete(n,e){n.b=e}function fq(n,e){n.j=e}function tte(n,e){n.g=e}function ite(n,e){n.i=e}function rte(n,e){n.c=e}function cte(n,e){n.d=e}function ute(n,e){n.d=e}function ste(n,e){n.c=e}function ea(n,e){n.k=e}function ote(n,e){n.c=e}function hq(n,e){n.c=e}function lq(n,e){n.a=e}function fte(n,e){n.a=e}function hte(n,e){n.f=e}function lte(n,e){n.a=e}function ate(n,e){n.b=e}function II(n,e){n.d=e}function ej(n,e){n.i=e}function aq(n,e){n.o=e}function dte(n,e){n.r=e}function bte(n,e){n.a=e}function wte(n,e){n.b=e}function Pvn(n,e){n.e=e}function gte(n,e){n.f=e}function dq(n,e){n.g=e}function pte(n,e){n.e=e}function vte(n,e){n.f=e}function mte(n,e){n.f=e}function kte(n,e){n.n=e}function yte(n,e){n.a=e}function jte(n,e){n.a=e}function Ete(n,e){n.c=e}function Cte(n,e){n.c=e}function Tte(n,e){n.d=e}function Mte(n,e){n.e=e}function Ate(n,e){n.g=e}function Ste(n,e){n.a=e}function Pte(n,e){n.c=e}function Ite(n,e){n.d=e}function Ote(n,e){n.e=e}function Dte(n,e){n.f=e}function $te(n,e){n.j=e}function Fte(n,e){n.a=e}function xte(n,e){n.b=e}function Lte(n,e){n.a=e}function Ivn(n){n.b=n.a}function Ovn(n){n.c=n.d.d}function $v(n){this.d=n}function ta(n){this.a=n}function Rp(n){this.a=n}function bq(n){this.a=n}function Mh(n){this.a=n}function A9(n){this.a=n}function Dvn(n){this.a=n}function wq(n){this.a=n}function S9(n){this.a=n}function gq(n){this.a=n}function pq(n){this.a=n}function vq(n){this.a=n}function L0(n){this.a=n}function P9(n){this.a=n}function I9(n){this.a=n}function mq(n){this.b=n}function _p(n){this.b=n}function Kp(n){this.b=n}function OI(n){this.a=n}function $vn(n){this.a=n}function kq(n){this.a=n}function DI(n){this.c=n}function E(n){this.c=n}function Fvn(n){this.c=n}function yq(n){this.a=n}function jq(n){this.a=n}function Eq(n){this.a=n}function Cq(n){this.a=n}function ut(n){this.a=n}function xvn(n){this.a=n}function Tq(n){this.a=n}function Mq(n){this.a=n}function Lvn(n){this.a=n}function Nvn(n){this.a=n}function Fv(n){this.a=n}function Bvn(n){this.a=n}function Rvn(n){this.a=n}function _vn(n){this.a=n}function Kvn(n){this.a=n}function Hvn(n){this.a=n}function qvn(n){this.a=n}function Gvn(n){this.a=n}function zvn(n){this.a=n}function Uvn(n){this.a=n}function Wvn(n){this.a=n}function Xvn(n){this.a=n}function Vvn(n){this.a=n}function Qvn(n){this.a=n}function Jvn(n){this.a=n}function Yvn(n){this.a=n}function Zvn(n){this.a=n}function n5n(n){this.a=n}function O9(n){this.a=n}function e5n(n){this.a=n}function t5n(n){this.a=n}function tj(n){this.a=n}function i5n(n){this.a=n}function r5n(n){this.a=n}function Hp(n){this.a=n}function Aq(n){this.a=n}function c5n(n){this.a=n}function u5n(n){this.a=n}function s5n(n){this.a=n}function o5n(n){this.a=n}function f5n(n){this.a=n}function Sq(n){this.a=n}function Pq(n){this.a=n}function Iq(n){this.a=n}function ij(n){this.a=n}function rj(n){this.e=n}function qp(n){this.a=n}function h5n(n){this.a=n}function n2(n){this.a=n}function Oq(n){this.a=n}function l5n(n){this.a=n}function a5n(n){this.a=n}function d5n(n){this.a=n}function b5n(n){this.a=n}function w5n(n){this.a=n}function g5n(n){this.a=n}function p5n(n){this.a=n}function v5n(n){this.a=n}function m5n(n){this.a=n}function k5n(n){this.a=n}function y5n(n){this.a=n}function Dq(n){this.a=n}function j5n(n){this.a=n}function E5n(n){this.a=n}function C5n(n){this.a=n}function T5n(n){this.a=n}function M5n(n){this.a=n}function A5n(n){this.a=n}function S5n(n){this.a=n}function P5n(n){this.a=n}function I5n(n){this.a=n}function O5n(n){this.a=n}function D5n(n){this.a=n}function $5n(n){this.a=n}function F5n(n){this.a=n}function x5n(n){this.a=n}function L5n(n){this.a=n}function N5n(n){this.a=n}function B5n(n){this.a=n}function R5n(n){this.a=n}function _5n(n){this.a=n}function K5n(n){this.a=n}function H5n(n){this.a=n}function q5n(n){this.a=n}function G5n(n){this.a=n}function z5n(n){this.a=n}function U5n(n){this.a=n}function W5n(n){this.a=n}function X5n(n){this.a=n}function V5n(n){this.a=n}function Q5n(n){this.a=n}function J5n(n){this.a=n}function Y5n(n){this.a=n}function Z5n(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.c=n}function u6n(n){this.b=n}function s6n(n){this.a=n}function o6n(n){this.a=n}function f6n(n){this.a=n}function h6n(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function d6n(n){this.a=n}function b6n(n){this.a=n}function w6n(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function C6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function A6n(n){this.a=n}function S6n(n){this.a=n}function P6n(n){this.a=n}function I6n(n){this.a=n}function X1(n){this.a=n}function e2(n){this.a=n}function O6n(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function F6n(n){this.a=n}function x6n(n){this.a=n}function L6n(n){this.a=n}function N6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function K6n(n){this.a=n}function H6n(n){this.a=n}function q6n(n){this.a=n}function G6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function cj(n){this.a=n}function W6n(n){this.a=n}function X6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function J6n(n){this.a=n}function Y6n(n){this.a=n}function Z6n(n){this.a=n}function nmn(n){this.a=n}function emn(n){this.a=n}function tmn(n){this.a=n}function imn(n){this.a=n}function rmn(n){this.a=n}function cmn(n){this.a=n}function umn(n){this.a=n}function smn(n){this.a=n}function omn(n){this.a=n}function fmn(n){this.a=n}function hmn(n){this.a=n}function lmn(n){this.a=n}function amn(n){this.a=n}function dmn(n){this.a=n}function bmn(n){this.a=n}function wmn(n){this.a=n}function gmn(n){this.a=n}function pmn(n){this.a=n}function vmn(n){this.a=n}function mmn(n){this.a=n}function kmn(n){this.a=n}function $q(n){this.a=n}function kt(n){this.b=n}function ymn(n){this.f=n}function Fq(n){this.a=n}function jmn(n){this.a=n}function Emn(n){this.a=n}function Cmn(n){this.a=n}function Tmn(n){this.a=n}function Mmn(n){this.a=n}function Amn(n){this.a=n}function Smn(n){this.a=n}function Pmn(n){this.a=n}function D9(n){this.a=n}function Imn(n){this.a=n}function Omn(n){this.b=n}function xq(n){this.c=n}function uj(n){this.e=n}function Dmn(n){this.a=n}function sj(n){this.a=n}function oj(n){this.a=n}function $I(n){this.a=n}function $mn(n){this.a=n}function Fmn(n){this.d=n}function Lq(n){this.a=n}function Nq(n){this.a=n}function cd(n){this.e=n}function Nte(){this.a=0}function gw(){dyn(this)}function X(){RO(this)}function we(){Eu(this)}function FI(){pTn(this)}function xmn(){}function ud(){this.c=p1n}function Bte(n,e){e.Wb(n)}function Lmn(n,e){n.b+=e}function Nmn(n){n.b=new JI}function T(n){return n.e}function Rte(n){return n.a}function _te(n){return n.a}function Kte(n){return n.a}function Hte(n){return n.a}function qte(n){return n.a}function Gte(){return null}function zte(){return null}function Ute(){EG(),iTe()}function Wte(n){n.b.tf(n.e)}function xv(n,e){n.b=e-n.b}function Lv(n,e){n.a=e-n.a}function Bmn(n,e){e.ad(n.a)}function Xte(n,e){ui(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){Df(),this.a=n}function Rmn(n){Df(),this.a=n}function _mn(n){Df(),this.a=n}function Rq(n){nb(),this.a=n}function Kmn(n){k3(),aR.be(n)}function ia(){Qyn.call(this)}function _q(){Qyn.call(this)}function Kq(){ia.call(this)}function xI(){ia.call(this)}function Hmn(){ia.call(this)}function F9(){ia.call(this)}function fu(){ia.call(this)}function Nv(){ia.call(this)}function ye(){ia.call(this)}function vs(){ia.call(this)}function qmn(){ia.call(this)}function ic(){ia.call(this)}function Gmn(){ia.call(this)}function zmn(){this.a=this}function fj(){this.Bb|=256}function Umn(){this.b=new Xkn}function Hq(){Hq=N,new we}function qq(){Kq.call(this)}function Wmn(n,e){n.length=e}function hj(n,e){W(n.a,e)}function Qte(n,e){nY(n.c,e)}function Jte(n,e){ri(n.b,e)}function Yte(n,e){KT(n.a,e)}function Zte(n,e){MF(n.a,e)}function Gp(n,e){et(n.e,e)}function t2(n){iM(n.c,n.b)}function nie(n,e){n.kc().Nb(e)}function Gq(n){this.a=Yge(n)}function fi(){this.a=new we}function Xmn(){this.a=new we}function lj(){this.a=new X}function LI(){this.a=new X}function zq(){this.a=new X}function Ns(){this.a=new Oln}function ra(){this.a=new TSn}function Uq(){this.a=new LH}function Wq(){this.a=new h7n}function Vmn(){this.a=new YMn}function Xq(){this.a=new bMn}function Vq(){this.a=new Bjn}function Qmn(){this.a=new X}function Qq(){this.a=new X}function Jmn(){this.a=new X}function Ymn(){this.a=new X}function Zmn(){this.d=new X}function n9n(){this.a=new fi}function e9n(){this.a=new we}function t9n(){this.b=new we}function i9n(){this.b=new X}function Jq(){this.e=new X}function r9n(){this.d=new X}function c9n(){this.a=new C4n}function u9n(){X.call(this)}function Yq(){lj.call(this)}function s9n(){kE.call(this)}function o9n(){Qq.call(this)}function NI(){Bv.call(this)}function Bv(){xmn.call(this)}function i2(){xmn.call(this)}function Zq(){i2.call(this)}function f9n(){zTn.call(this)}function h9n(){zTn.call(this)}function l9n(){uG.call(this)}function a9n(){uG.call(this)}function d9n(){uG.call(this)}function b9n(){sG.call(this)}function hu(){Ct.call(this)}function nG(){B2n.call(this)}function eG(){B2n.call(this)}function w9n(){O9n.call(this)}function g9n(){O9n.call(this)}function p9n(){we.call(this)}function v9n(){we.call(this)}function m9n(){we.call(this)}function k9n(){fi.call(this)}function BI(){RIn.call(this)}function y9n(){fj.call(this)}function RI(){Oz.call(this)}function _I(){Oz.call(this)}function tG(){we.call(this)}function KI(){we.call(this)}function j9n(){we.call(this)}function iG(){Yy.call(this)}function E9n(){Yy.call(this)}function C9n(){iG.call(this)}function T9n(){ZH.call(this)}function M9n(n){hIn.call(this,n)}function A9n(n){hIn.call(this,n)}function rG(n){rq.call(this,n)}function cG(n){n7n.call(this,n)}function eie(n){cG.call(this,n)}function tie(n){n7n.call(this,n)}function zp(){this.a=new Ct}function uG(){this.a=new fi}function sG(){this.a=new we}function S9n(){this.a=new X}function P9n(){this.j=new X}function oG(){this.a=new Rgn}function I9n(){this.a=new T8n}function O9n(){this.a=new X2n}function HI(){HI=N,uR=new V9n}function qI(){qI=N,cR=new X9n}function Rv(){Rv=N,rR=new Bt}function aj(){aj=N,fR=new Xyn}function iie(n){cG.call(this,n)}function rie(n){cG.call(this,n)}function D9n(n){m$.call(this,n)}function $9n(n){m$.call(this,n)}function F9n(n){uEn.call(this,n)}function GI(n){C5e.call(this,n)}function sd(n){_0.call(this,n)}function _v(n){Cj.call(this,n)}function fG(n){Cj.call(this,n)}function x9n(n){Cj.call(this,n)}function _r(n){kCn.call(this,n)}function L9n(n){_r.call(this,n)}function r2(){M9.call(this,{})}function dj(n){c3(),this.a=n}function Kv(n){n.b=null,n.c=0}function cie(n,e){n.e=e,NNn(n,e)}function uie(n,e){n.a=e,h6e(n)}function zI(n,e,t){n.a[e.g]=t}function sie(n,e,t){M4e(t,n,e)}function oie(n,e){$ue(e.i,n.n)}function N9n(n,e){Fwe(n).td(e)}function fie(n,e){return n*n/e}function B9n(n,e){return n.g-e.g}function hie(n){return new nj(n)}function lie(n){return new Z0(n)}function bj(n){_r.call(this,n)}function vr(n){_r.call(this,n)}function R9n(n){_r.call(this,n)}function UI(n){kCn.call(this,n)}function WI(n){AV(),this.a=n}function _9n(n){aEn(),this.a=n}function N0(n){ED(),this.f=n}function XI(n){ED(),this.f=n}function Up(n){_r.call(this,n)}function Hn(n){_r.call(this,n)}function Dr(n){_r.call(this,n)}function K9n(n){_r.call(this,n)}function c2(n){_r.call(this,n)}function on(n){return _n(n),n}function K(n){return _n(n),n}function x9(n){return _n(n),n}function hG(n){return _n(n),n}function aie(n){return _n(n),n}function Hv(n){return n.b==n.c}function B0(n){return!!n&&n.b}function die(n){return!!n&&n.k}function bie(n){return!!n&&n.j}function Ku(n){_n(n),this.a=n}function lG(n){return ja(n),n}function qv(n){EW(n,n.length)}function t1(n){_r.call(this,n)}function Af(n){_r.call(this,n)}function VI(n){_r.call(this,n)}function pw(n){_r.call(this,n)}function Gv(n){_r.call(this,n)}function Ce(n){_r.call(this,n)}function QI(n){Vz.call(this,n,0)}function JI(){iX.call(this,12,3)}function aG(){aG=N,din=new Q1n}function H9n(){H9n=N,ain=new ou}function wj(){wj=N,dm=new H1}function q9n(){q9n=N,vzn=new ww}function G9n(){throw T(new ye)}function dG(){throw T(new ye)}function z9n(){throw T(new ye)}function wie(){throw T(new ye)}function gie(){throw T(new ye)}function pie(){throw T(new ye)}function YI(){this.a=Te(pe(Ji))}function u2(n){Df(),this.a=pe(n)}function U9n(n,e){n.Td(e),e.Sd(n)}function vie(n,e){n.a.ec().Mc(e)}function mie(n,e,t){n.c.lf(e,t)}function bG(n){vr.call(this,n)}function Sf(n){Hn.call(this,n)}function i1(){A9.call(this,"")}function zv(){A9.call(this,"")}function V1(){A9.call(this,"")}function R0(){A9.call(this,"")}function wG(n){vr.call(this,n)}function Wp(n){_p.call(this,n)}function ZI(n){lE.call(this,n)}function W9n(n){Wp.call(this,n)}function X9n(){AI.call(this,null)}function V9n(){AI.call(this,null)}function gj(){gj=N,k3()}function Q9n(){Q9n=N,Szn=Z4e()}function J9n(n){return n.a?n.b:0}function kie(n){return n.a?n.b:0}function yie(n,e){return n.a-e.a}function jie(n,e){return n.a-e.a}function Eie(n,e){return n.a-e.a}function pj(n,e){return WX(n,e)}function M(n,e){return pMn(n,e)}function Cie(n,e){return e in n.a}function Y9n(n,e){return n.f=e,n}function Tie(n,e){return n.b=e,n}function Z9n(n,e){return n.c=e,n}function Mie(n,e){return n.g=e,n}function gG(n,e){return n.a=e,n}function pG(n,e){return n.f=e,n}function Aie(n,e){return n.k=e,n}function vG(n,e){return n.a=e,n}function Sie(n,e){return n.e=e,n}function mG(n,e){return n.e=e,n}function Pie(n,e){return n.f=e,n}function Iie(n,e){n.b=!0,n.d=e}function Oie(n,e){n.b=new mr(e)}function Die(n,e,t){e.td(n.a[t])}function $ie(n,e,t){e.we(n.a[t])}function Fie(n,e){return n.b-e.b}function xie(n,e){return n.g-e.g}function Lie(n,e){return n.s-e.s}function Nie(n,e){return n?0:e-1}function n8n(n,e){return n?0:e-1}function Bie(n,e){return n?e-1:0}function Rie(n,e){return e.Yf(n)}function od(n,e){return n.b=e,n}function vj(n,e){return n.a=e,n}function fd(n,e){return n.c=e,n}function hd(n,e){return n.d=e,n}function ld(n,e){return n.e=e,n}function kG(n,e){return n.f=e,n}function Uv(n,e){return n.a=e,n}function Xp(n,e){return n.b=e,n}function Vp(n,e){return n.c=e,n}function gn(n,e){return n.c=e,n}function Dn(n,e){return n.b=e,n}function pn(n,e){return n.d=e,n}function vn(n,e){return n.e=e,n}function _ie(n,e){return n.f=e,n}function mn(n,e){return n.g=e,n}function kn(n,e){return n.a=e,n}function yn(n,e){return n.i=e,n}function jn(n,e){return n.j=e,n}function e8n(n,e){return n.k=e,n}function Kie(n,e){return n.j=e,n}function Hie(n,e){yl(),Hr(e,n)}function qie(n,e,t){Nfe(n.a,e,t)}function t8n(n){mTn.call(this,n)}function yG(n){mTn.call(this,n)}function mj(n){uD.call(this,n)}function i8n(n){u2e.call(this,n)}function Q1(n){Ld.call(this,n)}function r8n(n){XD.call(this,n)}function c8n(n){XD.call(this,n)}function u8n(){Mz.call(this,"")}function Li(){this.a=0,this.b=0}function s8n(){this.b=0,this.a=0}function o8n(n,e){n.b=0,hb(n,e)}function Gie(n,e){n.c=e,n.b=!0}function f8n(n,e){return n.c._b(e)}function xo(n){return n.e&&n.e()}function nO(n){return n?n.d:null}function h8n(n,e){return LDn(n.b,e)}function zie(n){return n?n.g:null}function Uie(n){return n?n.i:null}function J1(n){return Ph(n),n.o}function ad(){ad=N,Mne=h4e()}function l8n(){l8n=N,vi=jve()}function Qp(){Qp=N,g1n=a4e()}function a8n(){a8n=N,hee=l4e()}function jG(){jG=N,oc=s6e()}function EG(){EG=N,Wl=N3()}function d8n(){throw T(new ye)}function b8n(){throw T(new ye)}function w8n(){throw T(new ye)}function g8n(){throw T(new ye)}function p8n(){throw T(new ye)}function v8n(){throw T(new ye)}function kj(n){this.a=new s2(n)}function CG(n){d_n(),gTe(this,n)}function Y1(n){this.a=new AD(n)}function vw(n,e){for(;n.ye(e););}function TG(n,e){for(;n.sd(e););}function mw(n,e){return n.a+=e,n}function eO(n,e){return n.a+=e,n}function r1(n,e){return n.a+=e,n}function dd(n,e){return n.a+=e,n}function Wv(n){return fl(n),n.a}function yj(n){return n.b!=n.d.c}function m8n(n){return n.l|n.m<<22}function MG(n,e){return n.d[e.p]}function k8n(n,e){return Q8e(n,e)}function AG(n,e,t){n.splice(e,t)}function y8n(n){n.c?rBn(n):cBn(n)}function jj(n){this.a=0,this.b=n}function j8n(){this.a=new B7(Pon)}function E8n(){this.b=new B7(won)}function C8n(){this.b=new B7(OK)}function T8n(){this.b=new B7(OK)}function M8n(){throw T(new ye)}function A8n(){throw T(new ye)}function S8n(){throw T(new ye)}function P8n(){throw T(new ye)}function I8n(){throw T(new ye)}function O8n(){throw T(new ye)}function D8n(){throw T(new ye)}function $8n(){throw T(new ye)}function F8n(){throw T(new ye)}function x8n(){throw T(new ye)}function Wie(){throw T(new ic)}function Xie(){throw T(new ic)}function L9(n){this.a=new L8n(n)}function L8n(n){cbe(this,n,cve())}function N9(n){return!n||iTn(n)}function B9(n){return Tf[n]!=-1}function Vie(){_A!=0&&(_A=0),KA=-1}function N8n(){iR==null&&(iR=[])}function Qie(n,e){$x(R(n.a),e)}function Jie(n,e){$x(R(n.a),e)}function R9(n,e){Sw.call(this,n,e)}function Jp(n,e){R9.call(this,n,e)}function SG(n,e){this.b=n,this.c=e}function B8n(n,e){this.b=n,this.a=e}function R8n(n,e){this.a=n,this.b=e}function _8n(n,e){this.a=n,this.b=e}function K8n(n,e){this.a=n,this.b=e}function H8n(n,e){this.a=n,this.b=e}function q8n(n,e){this.a=n,this.b=e}function G8n(n,e){this.a=n,this.b=e}function z8n(n,e){this.a=n,this.b=e}function U8n(n,e){this.a=n,this.b=e}function W8n(n,e){this.b=n,this.a=e}function X8n(n,e){this.b=n,this.a=e}function V8n(n,e){this.b=n,this.a=e}function Q8n(n,e){this.b=n,this.a=e}function Oe(n,e){this.f=n,this.g=e}function Yp(n,e){this.e=n,this.d=e}function bd(n,e){this.g=n,this.i=e}function tO(n,e){this.a=n,this.b=e}function J8n(n,e){this.a=n,this.f=e}function Y8n(n,e){this.b=n,this.c=e}function Yie(n,e){this.a=n,this.b=e}function Z8n(n,e){this.a=n,this.b=e}function iO(n,e){this.a=n,this.b=e}function n7n(n){Bz(n.dc()),this.c=n}function Ej(n){this.b=u(pe(n),83)}function e7n(n){this.a=u(pe(n),83)}function _0(n){this.a=u(pe(n),15)}function t7n(n){this.a=u(pe(n),15)}function Cj(n){this.b=u(pe(n),47)}function Tj(){this.q=new j.Date}function Zf(){Zf=N,Sin=new tln}function Zp(){Zp=N,X4=new nln}function Xv(n){return n.f.c+n.g.c}function _9(n,e){return n.b.Hc(e)}function i7n(n,e){return n.b.Ic(e)}function r7n(n,e){return n.b.Qc(e)}function c7n(n,e){return n.b.Hc(e)}function u7n(n,e){return n.c.uc(e)}function Ah(n,e){return n.a._b(e)}function s7n(n,e){return tt(n.c,e)}function o7n(n,e){return zu(n.b,e)}function f7n(n,e){return n>e&&e0}function cO(n,e){return fc(n,e)<0}function n5(n,e){return n.a.get(e)}function lre(n,e){return e.split(n)}function S7n(n,e){return zu(n.e,e)}function LG(n){return _n(n),!1}function xj(n){xn.call(this,n,21)}function are(n,e){cMn.call(this,n,e)}function Lj(n,e){Oe.call(this,n,e)}function uO(n,e){Oe.call(this,n,e)}function NG(n){_D(),uEn.call(this,n)}function BG(n,e){fCn(n,n.length,e)}function z9(n,e){BCn(n,n.length,e)}function dre(n,e,t){e.ud(n.a.Ge(t))}function bre(n,e,t){e.we(n.a.Fe(t))}function wre(n,e,t){e.td(n.a.Kb(t))}function gre(n,e,t){n.Mb(t)&&e.td(t)}function e5(n,e,t){n.splice(e,0,t)}function pre(n,e){return au(n.e,e)}function Nj(n,e){this.d=n,this.e=e}function P7n(n,e){this.b=n,this.a=e}function I7n(n,e){this.b=n,this.a=e}function RG(n,e){this.b=n,this.a=e}function O7n(n,e){this.a=n,this.b=e}function D7n(n,e){this.a=n,this.b=e}function $7n(n,e){this.a=n,this.b=e}function F7n(n,e){this.a=n,this.b=e}function f2(n,e){this.a=n,this.b=e}function _G(n,e){this.b=n,this.a=e}function KG(n,e){this.b=n,this.a=e}function Bj(n,e){Oe.call(this,n,e)}function Rj(n,e){Oe.call(this,n,e)}function HG(n,e){Oe.call(this,n,e)}function qG(n,e){Oe.call(this,n,e)}function kw(n,e){Oe.call(this,n,e)}function sO(n,e){Oe.call(this,n,e)}function oO(n,e){Oe.call(this,n,e)}function fO(n,e){Oe.call(this,n,e)}function _j(n,e){Oe.call(this,n,e)}function GG(n,e){Oe.call(this,n,e)}function hO(n,e){Oe.call(this,n,e)}function U9(n,e){Oe.call(this,n,e)}function Kj(n,e){Oe.call(this,n,e)}function lO(n,e){Oe.call(this,n,e)}function t5(n,e){Oe.call(this,n,e)}function zG(n,e){Oe.call(this,n,e)}function zt(n,e){Oe.call(this,n,e)}function Hj(n,e){Oe.call(this,n,e)}function x7n(n,e){this.a=n,this.b=e}function L7n(n,e){this.a=n,this.b=e}function N7n(n,e){this.a=n,this.b=e}function B7n(n,e){this.a=n,this.b=e}function R7n(n,e){this.a=n,this.b=e}function _7n(n,e){this.a=n,this.b=e}function K7n(n,e){this.a=n,this.b=e}function H7n(n,e){this.a=n,this.b=e}function q7n(n,e){this.a=n,this.b=e}function UG(n,e){this.b=n,this.a=e}function G7n(n,e){this.b=n,this.a=e}function z7n(n,e){this.b=n,this.a=e}function U7n(n,e){this.b=n,this.a=e}function t3(n,e){this.c=n,this.d=e}function W7n(n,e){this.e=n,this.d=e}function X7n(n,e){this.a=n,this.b=e}function V7n(n,e){this.b=e,this.c=n}function qj(n,e){Oe.call(this,n,e)}function W9(n,e){Oe.call(this,n,e)}function aO(n,e){Oe.call(this,n,e)}function i5(n,e){Oe.call(this,n,e)}function WG(n,e){Oe.call(this,n,e)}function dO(n,e){Oe.call(this,n,e)}function bO(n,e){Oe.call(this,n,e)}function X9(n,e){Oe.call(this,n,e)}function XG(n,e){Oe.call(this,n,e)}function wO(n,e){Oe.call(this,n,e)}function r5(n,e){Oe.call(this,n,e)}function VG(n,e){Oe.call(this,n,e)}function c5(n,e){Oe.call(this,n,e)}function u5(n,e){Oe.call(this,n,e)}function H0(n,e){Oe.call(this,n,e)}function gO(n,e){Oe.call(this,n,e)}function pO(n,e){Oe.call(this,n,e)}function QG(n,e){Oe.call(this,n,e)}function s5(n,e){Oe.call(this,n,e)}function vO(n,e){Oe.call(this,n,e)}function Gj(n,e){Oe.call(this,n,e)}function V9(n,e){Oe.call(this,n,e)}function Q9(n,e){Oe.call(this,n,e)}function h2(n,e){Oe.call(this,n,e)}function mO(n,e){Oe.call(this,n,e)}function JG(n,e){Oe.call(this,n,e)}function kO(n,e){Oe.call(this,n,e)}function yO(n,e){Oe.call(this,n,e)}function YG(n,e){Oe.call(this,n,e)}function jO(n,e){Oe.call(this,n,e)}function EO(n,e){Oe.call(this,n,e)}function CO(n,e){Oe.call(this,n,e)}function TO(n,e){Oe.call(this,n,e)}function ZG(n,e){Oe.call(this,n,e)}function Q7n(n,e){this.b=n,this.a=e}function J7n(n,e){this.a=n,this.b=e}function Y7n(n,e){this.a=n,this.b=e}function Z7n(n,e){this.a=n,this.b=e}function nkn(n,e){this.a=n,this.b=e}function nz(n,e){Oe.call(this,n,e)}function ez(n,e){Oe.call(this,n,e)}function ekn(n,e){this.b=n,this.d=e}function tz(n,e){Oe.call(this,n,e)}function iz(n,e){Oe.call(this,n,e)}function tkn(n,e){this.a=n,this.b=e}function ikn(n,e){this.a=n,this.b=e}function zj(n,e){Oe.call(this,n,e)}function o5(n,e){Oe.call(this,n,e)}function rz(n,e){Oe.call(this,n,e)}function cz(n,e){Oe.call(this,n,e)}function uz(n,e){Oe.call(this,n,e)}function MO(n,e){Oe.call(this,n,e)}function sz(n,e){Oe.call(this,n,e)}function AO(n,e){Oe.call(this,n,e)}function Uj(n,e){Oe.call(this,n,e)}function SO(n,e){Oe.call(this,n,e)}function PO(n,e){Oe.call(this,n,e)}function J9(n,e){Oe.call(this,n,e)}function IO(n,e){Oe.call(this,n,e)}function oz(n,e){Oe.call(this,n,e)}function Y9(n,e){Oe.call(this,n,e)}function fz(n,e){Oe.call(this,n,e)}function vre(n,e){return au(n.c,e)}function mre(n,e){return au(e.b,n)}function kre(n,e){return-n.b.Je(e)}function hz(n,e){return au(n.g,e)}function Z9(n,e){Oe.call(this,n,e)}function l2(n,e){Oe.call(this,n,e)}function rkn(n,e){this.a=n,this.b=e}function ckn(n,e){this.a=n,this.b=e}function fn(n,e){this.a=n,this.b=e}function f5(n,e){Oe.call(this,n,e)}function h5(n,e){Oe.call(this,n,e)}function n8(n,e){Oe.call(this,n,e)}function OO(n,e){Oe.call(this,n,e)}function Wj(n,e){Oe.call(this,n,e)}function l5(n,e){Oe.call(this,n,e)}function DO(n,e){Oe.call(this,n,e)}function Xj(n,e){Oe.call(this,n,e)}function yw(n,e){Oe.call(this,n,e)}function e8(n,e){Oe.call(this,n,e)}function a5(n,e){Oe.call(this,n,e)}function d5(n,e){Oe.call(this,n,e)}function t8(n,e){Oe.call(this,n,e)}function Vj(n,e){Oe.call(this,n,e)}function jw(n,e){Oe.call(this,n,e)}function Qj(n,e){Oe.call(this,n,e)}function ukn(n,e){this.a=n,this.b=e}function skn(n,e){this.a=n,this.b=e}function okn(n,e){this.a=n,this.b=e}function fkn(n,e){this.a=n,this.b=e}function hkn(n,e){this.a=n,this.b=e}function lkn(n,e){this.a=n,this.b=e}function Pi(n,e){this.a=n,this.b=e}function Jj(n,e){Oe.call(this,n,e)}function akn(n,e){this.a=n,this.b=e}function dkn(n,e){this.a=n,this.b=e}function bkn(n,e){this.a=n,this.b=e}function wkn(n,e){this.a=n,this.b=e}function gkn(n,e){this.a=n,this.b=e}function pkn(n,e){this.a=n,this.b=e}function vkn(n,e){this.b=n,this.a=e}function mkn(n,e){this.b=n,this.a=e}function kkn(n,e){this.b=n,this.a=e}function ykn(n,e){this.b=n,this.a=e}function jkn(n,e){this.a=n,this.b=e}function Ekn(n,e){this.a=n,this.b=e}function yre(n,e){J9e(n.a,u(e,56))}function Ckn(n,e){f0e(n.a,u(e,11))}function jre(n,e){return h3(),e!=n}function Tkn(){return Q9n(),new Szn}function Mkn(){c$(),this.b=new fi}function Akn(){hM(),this.a=new fi}function Skn(){tX(),lW.call(this)}function a2(n,e){Oe.call(this,n,e)}function Pkn(n,e){this.a=n,this.b=e}function Ikn(n,e){this.a=n,this.b=e}function Yj(n,e){this.a=n,this.b=e}function Okn(n,e){this.a=n,this.b=e}function Dkn(n,e){this.a=n,this.b=e}function $kn(n,e){this.a=n,this.b=e}function Fkn(n,e){this.d=n,this.b=e}function lz(n,e){this.d=n,this.e=e}function xkn(n,e){this.f=n,this.c=e}function i8(n,e){this.b=n,this.c=e}function az(n,e){this.i=n,this.g=e}function Lkn(n,e){this.e=n,this.a=e}function Nkn(n,e){this.a=n,this.b=e}function dz(n,e){n.i=null,nT(n,e)}function Ere(n,e){n&&it($y,n,e)}function Bkn(n,e){return NF(n.a,e)}function Zj(n){return g7(n.c,n.b)}function Vr(n){return n?n.dd():null}function B(n){return n??null}function q0(n){return typeof n===X2}function G0(n){return typeof n===UZ}function mi(n){return typeof n===EL}function el(n,e){return n.Hd().Xb(e)}function nE(n,e){return Rbe(n.Kc(),e)}function gd(n,e){return fc(n,e)==0}function Cre(n,e){return fc(n,e)>=0}function b5(n,e){return fc(n,e)!=0}function Tre(n){return""+(_n(n),n)}function r8(n,e){return n.substr(e)}function Rkn(n){return $u(n),n.d.gc()}function $O(n){return yme(n,n.c),n}function eE(n){return A5(n==null),n}function w5(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function g5(n,e){return n.a+=""+e,n}function rc(n,e){return n.a+=""+e,n}function De(n,e){return n.a+=""+e,n}function bz(n,e){return n.a+=""+e,n}function _kn(n,e){Kt(n,e,n.a,n.a.a)}function ua(n,e){Kt(n,e,n.c.b,n.c)}function Mre(n,e,t){VFn(e,Mx(n,t))}function Are(n,e,t){VFn(e,Mx(n,t))}function Sre(n,e){k0e(new ie(n),e)}function Kkn(n,e){n.q.setTime($d(e))}function Hkn(n,e){kW.call(this,n,e)}function qkn(n,e){kW.call(this,n,e)}function FO(n,e){kW.call(this,n,e)}function Gkn(n){Eu(this),Z5(this,n)}function wz(n){return Ln(n,0),null}function Lo(n){return n.a=0,n.b=0,n}function zkn(n,e){return n.a=e.g+1,n}function Pre(n,e){return n.j[e.p]==2}function gz(n){return lhe(u(n,79))}function Ukn(){Ukn=N,jUn=Fe(qF())}function Wkn(){Wkn=N,RWn=Fe(PNn())}function Xkn(){this.b=new s2(sb(12))}function Vkn(){this.b=0,this.a=!1}function Qkn(){this.b=0,this.a=!1}function p5(n){this.a=n,TI.call(this)}function Jkn(n){this.a=n,TI.call(this)}function In(n,e){ii.call(this,n,e)}function xO(n,e){V0.call(this,n,e)}function Ew(n,e){az.call(this,n,e)}function LO(n,e){H3.call(this,n,e)}function Ykn(n,e){c8.call(this,n,e)}function He(n,e){$j(),it(eI,n,e)}function NO(n,e){return Yu(n.a,0,e)}function Zkn(n,e){return n.a.a.a.cc(e)}function nyn(n,e){return B(n)===B(e)}function Ire(n,e){return Zt(n.a,e.a)}function Ore(n,e){return Uc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function Pf(n,e){return n.indexOf(e)}function pd(n,e){return n==e?0:n?1:-1}function tE(n){return n<10?"0"+n:""+n}function $re(n){return pe(n),new p5(n)}function eyn(n){return Bc(n.l,n.m,n.h)}function i3(n){return Gt((_n(n),n))}function Fre(n){return Gt((_n(n),n))}function tyn(n,e){return Uc(n.g,e.g)}function $r(n){return typeof n===UZ}function xre(n){return n==b0||n==Hb}function Lre(n){return n==b0||n==Kb}function pz(n){return Fr(n.b.b,n,0)}function iyn(n){this.a=Tkn(),this.b=n}function ryn(n){this.a=Tkn(),this.b=n}function Nre(n,e){return W(n.a,e),e}function Bre(n,e){return W(n.c,e),n}function cyn(n,e){return rs(n.a,e),n}function Rre(n,e){return wo(),e.a+=n}function _re(n,e){return wo(),e.a+=n}function Kre(n,e){return wo(),e.c+=n}function vz(n,e){S3(n,0,n.length,e)}function Sh(){Tq.call(this,new ba)}function uyn(){xE.call(this,0,0,0,0)}function d2(){ys.call(this,0,0,0,0)}function mr(n){this.a=n.a,this.b=n.b}function tl(n){return n==Zs||n==Ao}function r3(n){return n==Yh||n==Jh}function syn(n){return n==xg||n==Fg}function Cw(n){return n!=jf&&n!=ql}function Hu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return rs(new hi,n)}function fyn(n,e){return new H3(e,n)}function Hre(n,e){return new H3(e,n)}function mz(n,e,t){UC(n,e),WC(n,t)}function rE(n,e,t){Rd(n,e),Bd(n,t)}function Jo(n,e,t){Zc(n,e),nu(n,t)}function cE(n,e,t){D3(n,e),F3(n,t)}function uE(n,e,t){$3(n,e),x3(n,t)}function BO(n,e){X3(n,e),L3(n,n.D)}function kz(n){xkn.call(this,n,!0)}function hyn(n,e,t){fU.call(this,n,e,t)}function il(n){jl(),qbe.call(this,n)}function lyn(){Lj.call(this,"Head",1)}function ayn(){Lj.call(this,"Tail",3)}function RO(n){n.c=F(Zn,rn,1,0,5,1)}function dyn(n){n.a=F(Zn,rn,1,8,5,1)}function byn(n){Yc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,nf(n))}function Gre(n,e){return ob(e,nf(n))}function zre(n,e){return n[n.length]=e}function Ure(n,e){return n[n.length]=e}function yz(n){return zoe(n.b.Kc(),n.a)}function Wre(n,e){return ZC(BD(n.d),e)}function Xre(n,e){return ZC(BD(n.g),e)}function Vre(n,e){return ZC(BD(n.j),e)}function tr(n,e){ii.call(this,n.b,e)}function vd(n){xE.call(this,n,n,n,n)}function jz(n){return n.b&&uL(n),n.a}function Ez(n){return n.b&&uL(n),n.c}function Qre(n,e){pf||(n.b=e)}function _O(n,e,t){return Mt(n,e,t),t}function wyn(n,e,t){Mt(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Jo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Ou(n.a),IMn(e))}function v5(n){Je(),cd.call(this,n)}function ece(n){return n==null?0:mt(n)}function gyn(){gyn=N,hK=new f6(cH)}function je(){je=N,new pyn,new X}function pyn(){new we,new we,new we}function Cz(){Cz=N,Hq(),bin=new we}function Yo(){Yo=N,j.Math.log(2)}function ms(){ms=N,Eh=(E7n(),Dne)}function tce(){throw T(new t1(izn))}function ice(){throw T(new t1(izn))}function rce(){throw T(new t1(rzn))}function cce(){throw T(new t1(rzn))}function vyn(n){this.a=n,HU.call(this,n)}function KO(n){this.a=n,Ej.call(this,n)}function HO(n){this.a=n,Ej.call(this,n)}function bi(n,e){mD(n.c,n.c.length,e)}function Kr(n){return n.ae?1:0}function kyn(n,e){return fc(n,e)>0?n:e}function Bc(n,e,t){return{l:n,m:e,h:t}}function uce(n,e){n.a!=null&&Ckn(e,n.a)}function yyn(n){n.a=new aI,n.c=new aI}function sE(n){this.b=n,this.a=new X}function jyn(n){this.b=new san,this.a=n}function Mz(n){vU.call(this),this.a=n}function Eyn(){Lj.call(this,"Range",2)}function Cyn(){kJ(),this.a=new B7(Hrn)}function sce(n,e){pe(e),Iw(n).Jc(new ps)}function oce(n,e){return Zu(),e.n.b+=n}function fce(n,e,t){return it(n.g,t,e)}function hce(n,e,t){return it(n.k,t,e)}function lce(n,e){return it(n.a,e.a,e)}function Mw(n,e,t){return _Q(e,t,n.c)}function Az(n){return new fn(n.c,n.d)}function ace(n){return new fn(n.c,n.d)}function Qr(n){return new fn(n.a,n.b)}function Tyn(n,e){return xEe(n.a,e,null)}function dce(n){Hi(n,null),Ei(n,null)}function Myn(n){s$(n,null),o$(n,null)}function Ayn(){c8.call(this,null,null)}function Syn(){wE.call(this,null,null)}function Sz(n){this.a=n,we.call(this)}function bce(n){this.b=(Pn(),new DI(n))}function oE(n){n.j=F(Ain,q,310,0,0,1)}function wce(n,e,t){n.c.Vc(e,u(t,133))}function gce(n,e,t){n.c.ji(e,u(t,133))}function Pyn(n,e){de(n),n.Gc(u(e,15))}function m5(n,e){return Jje(n.c,n.b,e)}function pce(n,e){return new Jyn(n.Kc(),e)}function qO(n,e){return gwe(n.Kc(),e)!=-1}function Pz(n,e){return n.a.Bc(e)!=null}function fE(n){return n.Ob()?n.Pb():null}function Iyn(n){return Hs(n,0,n.length)}function I(n,e){return n!=null&&WF(n,e)}function vce(n,e){n.q.setHours(e),S6(n,e)}function Oyn(n,e){n.c&&(ZU(e),iMn(e))}function mce(n,e,t){u(n.Kb(t),164).Nb(e)}function kce(n,e,t){return SEe(n,e,t),t}function Dyn(n,e,t){n.a=e^1502,n.b=t^tN}function GO(n,e,t){return n.a[e.g][t.g]}function Zo(n,e){return n.a[e.c.p][e.p]}function yce(n,e){return n.e[e.c.p][e.p]}function jce(n,e){return n.c[e.c.p][e.p]}function Ece(n,e){return n.j[e.p]=D9e(e)}function Cce(n,e){return DX(n.f,e.tg())}function Tce(n,e){return DX(n.b,e.tg())}function Mce(n,e){return n.a0?e*e/n:e*e*100}function Jce(n,e){return n>0?e/(n*n):e*100}function Yce(n,e,t){return W(e,e$n(n,t))}function Zce(n,e,t){DC(),n.Xe(e)&&t.td(n)}function s3(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function U0(n,e,t){return n.a+=e,n.b+=t,n}function nue(n,e,t){return n.a*=e,n.b*=t,n}function o8(n,e,t){return n.a-=e,n.b-=t,n}function Zz(n,e){return n.a=e.a,n.b=e.b,n}function vE(n){return n.a=-n.a,n.b=-n.b,n}function fjn(n){this.c=n,this.a=1,this.b=1}function hjn(n){this.c=n,Zc(n,0),nu(n,0)}function ljn(n){Ct.call(this),V5(this,n)}function ajn(n){yL(),Nmn(this),this.mf(n)}function djn(n,e){Zv(),c8.call(this,n,e)}function nU(n,e){c1(),wE.call(this,n,e)}function bjn(n,e){c1(),wE.call(this,n,e)}function wjn(n,e){c1(),nU.call(this,n,e)}function qu(n,e,t){Wu.call(this,n,e,t,2)}function JO(n,e){ms(),FE.call(this,n,e)}function gjn(n,e){ms(),JO.call(this,n,e)}function eU(n,e){ms(),JO.call(this,n,e)}function pjn(n,e){ms(),eU.call(this,n,e)}function tU(n,e){ms(),FE.call(this,n,e)}function vjn(n,e){ms(),tU.call(this,n,e)}function mjn(n,e){ms(),FE.call(this,n,e)}function eue(n,e){return n.c.Fc(u(e,133))}function iU(n,e,t){return jM(G8(n,e),t)}function tue(n,e,t){return e.Qk(n.e,n.c,t)}function iue(n,e,t){return e.Rk(n.e,n.c,t)}function YO(n,e){return pl(n.e,u(e,49))}function rue(n,e,t){s6(Ou(n.a),e,IMn(t))}function cue(n,e,t){s6(bc(n.a),e,PMn(t))}function rU(n,e){e.$modCount=n.$modCount}function C5(){C5=N,Xm=new kt("root")}function o3(){o3=N,xy=new w9n,new g9n}function kjn(){this.a=new Od,this.b=new Od}function cU(){RIn.call(this),this.Bb|=Yi}function yjn(){Oe.call(this,"GROW_TREE",0)}function uue(n){return n==null?null:CCe(n)}function sue(n){return n==null?null:D5e(n)}function oue(n){return n==null?null:Lr(n)}function fue(n){return n==null?null:Lr(n)}function Ph(n){n.o==null&&u9e(n)}function sn(n){return A5(n==null||q0(n)),n}function Y(n){return A5(n==null||G0(n)),n}function Te(n){return A5(n==null||mi(n)),n}function uU(n){this.q=new j.Date($d(n))}function f8(n,e){this.c=n,Yp.call(this,n,e)}function mE(n,e){this.a=n,f8.call(this,n,e)}function hue(n,e){this.d=n,Ovn(this),this.b=e}function sU(n,e){P$.call(this,n),this.a=e}function oU(n,e){P$.call(this,n),this.a=e}function lue(n){xQ.call(this,0,0),this.f=n}function fU(n,e,t){IC.call(this,n,e,t,null)}function jjn(n,e,t){IC.call(this,n,e,t,null)}function aue(n,e,t){return n.ue(e,t)<=0?t:e}function due(n,e,t){return n.ue(e,t)<=0?e:t}function bue(n,e){return u(xd(n.b,e),149)}function wue(n,e){return u(xd(n.c,e),229)}function ZO(n){return u(un(n.a,n.b),287)}function Ejn(n){return new fn(n.c,n.d+n.a)}function Cjn(n){return Zu(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Vu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){pf||W(n.a,e)}function pue(n,e){return H9(),K3(e.d.i,n)}function vue(n,e){return x2(),new ABn(e,n)}function Of(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=ss(n,e,3,t),t}function lU(n,e,t){return t=ss(n,e,6,t),t}function aU(n,e,t){return t=ss(n,e,9,t),t}function h8(n,e,t){++n.j,n.Ki(),A$(n,e,t)}function Mjn(n,e,t){++n.j,n.Hi(e,n.oi(e,t))}function Ajn(n,e,t){var i;i=n.Zc(e),i.Rb(t)}function Sjn(n,e,t){return MZ(n.c,n.b,e,t)}function dU(n,e){return(e&nt)%n.d.length}function ii(n,e){kt.call(this,n),this.a=e}function bU(n,e){xq.call(this,n),this.a=e}function nD(n,e){xq.call(this,n),this.a=e}function Pjn(n,e){this.c=n,Ld.call(this,e)}function Ijn(n,e){this.a=n,Omn.call(this,e)}function l8(n,e){this.a=n,Omn.call(this,e)}function Ojn(n){this.a=(is(n,Pb),new Pc(n))}function Djn(n){this.a=(is(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new Rr),n.a}function $jn(n){return n>8?0:n+1}function mue(n,e){return qn(),n==e?0:n?1:-1}function wU(n,e,t){return m2(n,u(e,22),t)}function kue(n,e,t){return n.apply(e,t)}function Fjn(n,e,t){return n.a+=Hs(e,0,t),n}function gU(n,e){var t;return t=n.e,n.e=e,t}function yue(n,e){var t;t=n[eN],t.call(n,e)}function jue(n,e){var t;t=n[eN],t.call(n,e)}function X0(n,e){n.a.Vc(n.b,e),++n.b,n.c=-1}function xjn(n){Eu(n.e),n.d.b=n.d,n.d.a=n.d}function d8(n){n.b?d8(n.b):n.f.c.zc(n.e,n.d)}function Eue(n,e,t){ca(),Svn(n,e.Ce(n.a,t))}function Cue(n,e){return nO(p$n(n.a,e,!0))}function Tue(n,e){return nO(v$n(n.a,e,!0))}function bo(n,e){return pj(new Array(e),n)}function eD(n){return String.fromCharCode(n)}function Mue(n){return n==null?null:n.message}function Ljn(){this.a=new X,this.b=new X}function Njn(){this.a=new LH,this.b=new Umn}function Bjn(){this.b=new Li,this.c=new X}function pU(){this.d=new Li,this.e=new Li}function vU(){this.n=new Li,this.o=new Li}function kE(){this.n=new i2,this.i=new d2}function Rjn(){this.a=new v4n,this.b=new cwn}function _jn(){this.a=new X,this.d=new X}function Kjn(){this.b=new fi,this.a=new fi}function Hjn(){this.b=new we,this.a=new we}function qjn(){this.b=new E8n,this.a=new sgn}function Gjn(){kE.call(this),this.a=new Li}function T5(n){Jbe.call(this,n,(FC(),vR))}function mU(n,e,t,i){xE.call(this,n,e,t,i)}function Aue(n,e,t){t!=null&&JC(e,rx(n,t))}function Sue(n,e,t){t!=null&&YC(e,rx(n,t))}function kU(n,e,t){return t=ss(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function ki(n,e){return n.a-=e.a,n.b-=e.b,n}function Pue(n,e){return n.n.a=(_n(e),e+10)}function Iue(n,e){return n.n.a=(_n(e),e+10)}function Oue(n,e){return e==n||o4(sM(e),n)}function zjn(n,e){return it(n.a,e,"")==null}function Due(n,e){return H9(),!K3(e.d.i,n)}function $ue(n,e){tl(n.f)?Qme(n,e):Fve(n,e)}function Fue(n,e){var t;return t=e.Hh(n.a),t}function V0(n,e){vr.call(this,rm+n+Ra+e)}function g2(n,e,t,i){V.call(this,n,e,t,i)}function yU(n,e,t,i){V.call(this,n,e,t,i)}function Ujn(n,e,t,i){yU.call(this,n,e,t,i)}function Wjn(n,e,t,i){zE.call(this,n,e,t,i)}function tD(n,e,t,i){zE.call(this,n,e,t,i)}function jU(n,e,t,i){zE.call(this,n,e,t,i)}function Xjn(n,e,t,i){tD.call(this,n,e,t,i)}function EU(n,e,t,i){tD.call(this,n,e,t,i)}function Fn(n,e,t,i){jU.call(this,n,e,t,i)}function Vjn(n,e,t,i){EU.call(this,n,e,t,i)}function Qjn(n,e,t,i){yW.call(this,n,e,t,i)}function Jjn(n,e,t){this.a=n,Vz.call(this,e,t)}function Yjn(n,e,t){this.c=e,this.b=t,this.a=n}function xue(n,e,t){return n.d=u(e.Kb(t),164)}function CU(n,e){return n.Aj().Nh().Kh(n,e)}function TU(n,e){return n.Aj().Nh().Ih(n,e)}function Zjn(n,e){return _n(n),B(n)===B(e)}function An(n,e){return _n(n),B(n)===B(e)}function iD(n,e){return nO(p$n(n.a,e,!1))}function rD(n,e){return nO(v$n(n.a,e,!1))}function Lue(n,e){return n.b.sd(new D7n(n,e))}function Nue(n,e){return n.b.sd(new $7n(n,e))}function nEn(n,e){return n.b.sd(new F7n(n,e))}function MU(n,e,t){return n.lastIndexOf(e,t)}function Bue(n,e,t){return Zt(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Uc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Uc(n.a.d.p,e.a.d.p)}function Hue(n,e){return Zt(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?Fr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==jh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){pf||e&&(n.d=e)}function cD(n,e){var t;return t=e,!!VV(n,t)}function AU(n,e){this.c=n,DD.call(this,n,e)}function iEn(n){this.c=n,FO.call(this,IM,0)}function rEn(n,e){Voe.call(this,n,n.length,e)}function zue(n,e,t){return u(n.c,69).lk(e,t)}function yE(n,e,t){return u(n.c,69).mk(e,t)}function Uue(n,e,t){return tue(n,u(e,332),t)}function SU(n,e,t){return iue(n,u(e,332),t)}function Wue(n,e,t){return txn(n,u(e,332),t)}function cEn(n,e,t){return zve(n,u(e,332),t)}function M5(n,e){return e==null?null:ab(n.b,e)}function PU(n){return G0(n)?(_n(n),n):n.ke()}function jE(n){return!isNaN(n)&&!isFinite(n)}function uEn(n){Df(),this.a=(Pn(),new Wp(n))}function b8(n){h3(),this.d=n,this.a=new gw}function ks(n,e,t){this.a=n,this.b=e,this.c=t}function sEn(n,e,t){this.a=n,this.b=e,this.c=t}function oEn(n,e,t){this.d=n,this.b=t,this.a=e}function uD(n){yyn(this),_s(this),Vi(this,n)}function du(n){RO(this),GU(this.c,0,n.Pc())}function fEn(n){Uu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,Zf(),eu(Date.now())}function lEn(){lEn=N,Xin=new ou,XA=new ou}function sD(){sD=N,Rin=new iln,Pzn=new rln}function aEn(){aEn=N,Nne=F(Zn,rn,1,0,5,1)}function dEn(){dEn=N,eee=F(Zn,rn,1,0,5,1)}function IU(){IU=N,tee=F(Zn,rn,1,0,5,1)}function Df(){Df=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return hf(),$e((LSn(),Bzn),n)}function Que(n){return $T(),$e((qAn(),Gzn),n)}function Jue(n){return RC(),$e((GAn(),zzn),n)}function Yue(n){return dM(),$e((IOn(),Uzn),n)}function Zue(n){return _o(),$e(($Sn(),Vzn),n)}function nse(n){return Cu(),$e((FSn(),Jzn),n)}function ese(n){return Jc(),$e((xSn(),Zzn),n)}function tse(n){return SM(),$e((Ukn(),jUn),n)}function ise(n){return Hd(),$e((mPn(),CUn),n)}function rse(n){return K2(),$e((kPn(),MUn),n)}function cse(n){return d6(),$e((yPn(),PUn),n)}function use(n){return Aj(),$e((yAn(),IUn),n)}function sse(n){return _C(),$e((zAn(),WUn),n)}function ose(n){return W5(),$e((NSn(),bWn),n)}function fse(n){return Qi(),$e((JPn(),vWn),n)}function hse(n){return G3(),$e((vPn(),EWn),n)}function lse(n){return qd(),$e((BSn(),PWn),n)}function OU(n,e){if(!n)throw T(new Hn(e))}function ase(n){return Qn(),$e((vIn(),$Wn),n)}function DU(n){xE.call(this,n.d,n.c,n.a,n.b)}function oD(n){xE.call(this,n.d,n.c,n.a,n.b)}function $U(n,e,t){this.b=n,this.c=e,this.a=t}function EE(n,e,t){this.b=n,this.a=e,this.c=t}function bEn(n,e,t){this.a=n,this.b=e,this.c=t}function FU(n,e,t){this.a=n,this.b=e,this.c=t}function wEn(n,e,t){this.a=n,this.b=e,this.c=t}function xU(n,e,t){this.a=n,this.b=e,this.c=t}function gEn(n,e,t){this.b=n,this.a=e,this.c=t}function CE(n,e,t){this.e=e,this.b=n,this.d=t}function dse(n,e,t){return ca(),n.a.Od(e,t),e}function fD(n){var e;return e=new Dln,e.e=n,e}function LU(n){var e;return e=new Zmn,e.b=n,e}function w8(){w8=N,sS=new Fdn,oS=new xdn}function wo(){wo=N,WWn=new pbn,XWn=new vbn}function bse(n){return aT(),$e((EPn(),HWn),n)}function wse(n){return ff(),$e((TPn(),JWn),n)}function gse(n){return lM(),$e((mOn(),cXn),n)}function pse(n){return q2(),$e((yIn(),uXn),n)}function vse(n){return OC(),$e((JAn(),sXn),n)}function mse(n){return F2(),$e((RSn(),oXn),n)}function kse(n){return Vw(),$e((UPn(),ZWn),n)}function yse(n){return Kd(),$e((HSn(),rXn),n)}function jse(n){return VC(),$e((_Sn(),fXn),n)}function Ese(n){return Pa(),$e((GPn(),hXn),n)}function Cse(n){return V8(),$e((WAn(),lXn),n)}function Tse(n){return ya(),$e((KSn(),dXn),n)}function Mse(n){return eM(),$e((TIn(),bXn),n)}function Ase(n){return K8(),$e((XAn(),wXn),n)}function Sse(n){return A7(),$e((EIn(),gXn),n)}function Pse(n){return h4(),$e((jIn(),pXn),n)}function Ise(n){return or(),$e((zOn(),vXn),n)}function Ose(n){return q3(),$e((GSn(),mXn),n)}function Dse(n){return Nh(),$e((qSn(),yXn),n)}function $se(n){return kC(),$e((YAn(),jXn),n)}function Fse(n){return Ss(),$e((WPn(),EXn),n)}function xse(n){return JT(),$e((CIn(),BQn),n)}function Lse(n){return i6(),$e((zSn(),RQn),n)}function Nse(n){return wb(),$e((MPn(),_Qn),n)}function Bse(n){return ur(),$e((XSn(),UQn),n)}function Rse(n){return Zw(),$e((vOn(),HQn),n)}function _se(n){return Rh(),$e((WSn(),qQn),n)}function Kse(n){return z8(),$e((QAn(),GQn),n)}function Hse(n){return oT(),$e((USn(),WQn),n)}function qse(n){return b6(),$e((zPn(),KQn),n)}function Gse(n){return x8(),$e((VAn(),XQn),n)}function zse(n){return Q3(),$e((QSn(),VQn),n)}function Use(n){return uT(),$e((JSn(),QQn),n)}function Wse(n){return dT(),$e((VSn(),JQn),n)}function Xse(n){return _d(),$e((YSn(),hJn),n)}function Vse(n){return z5(),$e((nSn(),wJn),n)}function Qse(n){return Ff(),$e((eSn(),jJn),n)}function Jse(n){return ef(),$e((tSn(),CJn),n)}function Yse(n){return No(),$e((ZAn(),RJn),n)}function Zse(n){return Id(),$e((iSn(),UJn),n)}function noe(n){return c4(),$e((jPn(),WJn),n)}function eoe(n){return k6(),$e((MIn(),VJn),n)}function toe(n){return aC(),$e((uSn(),fYn),n)}function ioe(n){return iT(),$e((cSn(),wYn),n)}function roe(n){return gC(),$e((rSn(),hYn),n)}function coe(n){return CT(),$e((ZSn(),pYn),n)}function uoe(n){return $C(),$e((sSn(),vYn),n)}function soe(n){return f7(),$e((nPn(),mYn),n)}function ooe(n){return qT(),$e((CPn(),FYn),n)}function foe(n){return sT(),$e((tPn(),xYn),n)}function hoe(n){return ET(),$e((ePn(),LYn),n)}function loe(n){return g4(),$e((QPn(),tZn),n)}function aoe(n){return w7(),$e((iPn(),iZn),n)}function doe(n){return Pj(),$e((mAn(),rZn),n)}function boe(n){return Ij(),$e((vAn(),uZn),n)}function woe(n){return L8(),$e((fSn(),sZn),n)}function goe(n){return P7(),$e((XPn(),oZn),n)}function poe(n){return Jv(),$e((kAn(),CZn),n)}function voe(n){return c7(),$e((oSn(),TZn),n)}function moe(n){return Ho(),$e((VPn(),OZn),n)}function koe(n){return y1(),$e((kOn(),$Zn),n)}function yoe(n){return oh(),$e((kIn(),FZn),n)}function joe(n){return vb(),$e((mIn(),_Zn),n)}function Eoe(n){return rr(),$e((Wkn(),RWn),n)}function Coe(n){return B3(),$e((UAn(),BWn),n)}function Toe(n){return sr(),$e((YPn(),ene),n)}function Moe(n){return sf(),$e((cPn(),tne),n)}function Aoe(n){return Hh(),$e((PPn(),ine),n)}function Soe(n){return ZT(),$e((SIn(),rne),n)}function Poe(n){return _h(),$e((rPn(),une),n)}function Ioe(n){return cs(),$e((SPn(),one),n)}function Ooe(n){return jb(),$e((POn(),fne),n)}function Doe(n){return qw(),$e((ZPn(),hne),n)}function $oe(n){return Ti(),$e((bIn(),lne),n)}function Foe(n){return Tu(),$e((AIn(),ane),n)}function xoe(n){return Vu(),$e((OPn(),vne),n)}function Loe(n){return xu(),$e((UOn(),mne),n)}function Noe(n){return J(),$e((nIn(),dne),n)}function Boe(n){return AT(),$e((IPn(),kne),n)}function Roe(n){return Xu(),$e((APn(),Ene),n)}function _oe(n){return d4(),$e((yOn(),Lne),n)}function Koe(n,e){return _n(n),n+(_n(e),e)}function Hoe(n,e){return Zf(),me(R(n.a),e)}function qoe(n,e){return Zf(),me(R(n.a),e)}function hD(n,e){this.c=n,this.a=e,this.b=e-n}function pEn(n,e,t){this.a=n,this.b=e,this.c=t}function NU(n,e,t){this.a=n,this.b=e,this.c=t}function BU(n,e,t){this.a=n,this.b=e,this.c=t}function vEn(n,e,t){this.a=n,this.b=e,this.c=t}function mEn(n,e,t){this.a=n,this.b=e,this.c=t}function s1(n,e,t){this.e=n,this.a=e,this.c=t}function kEn(n,e,t){ms(),QW.call(this,n,e,t)}function lD(n,e,t){ms(),FW.call(this,n,e,t)}function RU(n,e,t){ms(),FW.call(this,n,e,t)}function _U(n,e,t){ms(),FW.call(this,n,e,t)}function yEn(n,e,t){ms(),lD.call(this,n,e,t)}function KU(n,e,t){ms(),lD.call(this,n,e,t)}function jEn(n,e,t){ms(),KU.call(this,n,e,t)}function EEn(n,e,t){ms(),RU.call(this,n,e,t)}function CEn(n,e,t){ms(),_U.call(this,n,e,t)}function g8(n,e){return pe(n),pe(e),new z8n(n,e)}function v2(n,e){return pe(n),pe(e),new NEn(n,e)}function Goe(n,e){return pe(n),pe(e),new BEn(n,e)}function zoe(n,e){return pe(n),pe(e),new W8n(n,e)}function u(n,e){return A5(n==null||WF(n,e)),n}function f3(n){var e;return e=new X,_$(e,n),e}function Uoe(n){var e;return e=new fi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Ct,nF(e,n),e}function Woe(n){return!n.e&&(n.e=new X),n.e}function Xoe(n){return!n.c&&(n.c=new Bp),n.c}function W(n,e){return n.c[n.c.length]=e,!0}function MEn(n,e){this.c=n,this.b=e,this.a=!1}function HU(n){this.d=n,Ovn(this),this.b=_fe(n.d)}function AEn(){this.a=";,;",this.b="",this.c=""}function Voe(n,e,t){SCn.call(this,e,t),this.a=n}function SEn(n,e,t){this.b=n,Hkn.call(this,e,t)}function qU(n,e,t){this.c=n,Nj.call(this,e,t)}function GU(n,e,t){aY(t,0,n,e,t.length,!1)}function eh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function Qoe(n,e){e&&(n.b=e,n.a=(fl(e),e.a))}function zU(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function UU(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function WU(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function XU(n){return bl(the($r(n)?Ks(n):n))}function Joe(n,e){return Uc(GEn(n.d),GEn(e.d))}function Yoe(n,e){return e==(J(),Gn)?n.c:n.d}function h3(){h3=N,don=(J(),Gn),dP=Vn}function PEn(){this.b=K(Y(cn((Go(),xR))))}function IEn(n){return ca(),F(Zn,rn,1,n,5,1)}function Zoe(n){return new fn(n.c+n.b,n.d+n.a)}function nfe(n,e){return Sj(),Uc(n.d.p,e.d.p)}function aD(n){return ne(n.b!=0),Ts(n,n.a.a)}function efe(n){return ne(n.b!=0),Ts(n,n.c.b)}function VU(n,e){if(!n)throw T(new R9n(e))}function TE(n,e){if(!n)throw T(new Hn(e))}function QU(n,e,t){t3.call(this,n,e),this.b=t}function v8(n,e,t){lz.call(this,n,e),this.c=t}function OEn(n,e,t){oIn.call(this,e,t),this.d=n}function JU(n){IU(),Yy.call(this),this.th(n)}function DEn(n,e,t){this.a=n,Ew.call(this,e,t)}function $En(n,e,t){this.a=n,Ew.call(this,e,t)}function ME(n,e,t){lz.call(this,n,e),this.c=t}function FEn(){T3(),khe.call(this,(Z1(),uo))}function xEn(n){return n!=null&&!$F(n,a9,d9)}function tfe(n,e){return(GDn(n)<<4|GDn(e))&Ut}function ife(n,e){return QE(),ex(n,e),new oTn(n,e)}function sa(n,e){var t;n.n&&(t=e,W(n.f,t))}function l3(n,e,t){var i;i=new Z0(t),Ro(n,e,i)}function rfe(n,e){var t;return t=n.c,wV(n,e),t}function YU(n,e){return e<0?n.g=-1:n.g=e,n}function AE(n,e){return H0e(n),n.a*=e,n.b*=e,n}function LEn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function Ke(n,e){return Kt(n,e,n.c.b,n.c),!0}function ZU(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function dD(n){this.b=n,this.a=Ed(this.b.a).Ed()}function NEn(n,e){this.b=n,this.a=e,TI.call(this)}function BEn(n,e){this.a=n,this.b=e,TI.call(this)}function REn(n,e){SCn.call(this,e,1040),this.a=n}function m8(n){return n==0||isNaN(n)?n:n<0?-1:1}function cfe(n){return C2(),fh(n)==At(ml(n))}function ufe(n){return C2(),ml(n)==At(fh(n))}function jd(n,e){return v6(n,new t3(e.a,e.b))}function sfe(n){return!Xi(n)&&n.c.i.c==n.d.i.c}function SE(n){var e;return e=n.n,n.a.b+e.d+e.a}function _En(n){var e;return e=n.n,n.e.b+e.d+e.a}function nW(n){var e;return e=n.n,n.e.a+e.b+e.c}function KEn(n){return Je(),new th(0,n)}function ofe(n){return n.a?n.a:WD(n)}function A5(n){if(!n)throw T(new Up(null))}function HEn(){HEn=N,mH=(Pn(),new OI(XB))}function PE(){PE=N,new JQ((HI(),uR),(qI(),cR))}function qEn(){qEn=N,jin=F(Wi,q,19,256,0,1)}function bD(n,e,t,i){MQ.call(this,n,e,t,i,0,0)}function ffe(n,e,t){return it(n.b,u(t.b,17),e)}function hfe(n,e,t){return it(n.b,u(t.b,17),e)}function lfe(n,e){return W(n,new fn(e.a,e.b))}function afe(n,e){return n.c=e)throw T(new qq)}function Xfe(n,e,t){return Mt(e,0,rW(e[0],t[0])),e}function Vfe(n,e,t){e.Ye(t,K(Y(te(n.b,t)))*n.a)}function ACn(n,e,t){return eg(),R3(n,e)&&R3(n,t)}function D5(n){return Tu(),!n.Hc(n1)&&!n.Hc(Gl)}function qE(n){return new fn(n.c+n.b/2,n.d+n.a/2)}function MD(n,e){return e.kh()?pl(n.b,u(e,49)):e}function kW(n,e){this.e=n,this.d=e&64?e|Nf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Nf}function GE(n){this.b=new Pc(11),this.a=(Ow(),n)}function AD(n){this.b=null,this.a=(Ow(),n||Lin)}function PCn(n){this.a=Y$n(n.a),this.b=new du(n.b)}function ICn(n){this.b=n,b2.call(this,n),$yn(this)}function OCn(n){this.b=n,u8.call(this,n),Fyn(this)}function Y0(n,e,t){this.a=n,g2.call(this,e,t,5,6)}function yW(n,e,t,i){this.b=n,Jt.call(this,e,t,i)}function wi(n,e,t,i,r){D$.call(this,n,e,t,i,r,-1)}function $5(n,e,t,i,r){R8.call(this,n,e,t,i,r,-1)}function V(n,e,t,i){Jt.call(this,n,e,t),this.b=i}function zE(n,e,t,i){v8.call(this,n,e,t),this.b=i}function DCn(n){xkn.call(this,n,!1),this.a=!1}function $Cn(n,e){this.b=n,bvn.call(this,n.b),this.a=e}function FCn(n,e){nb(),Yie.call(this,n,mT(new Ku(e)))}function UE(n,e){return Je(),new xW(n,e,0)}function SD(n,e){return Je(),new xW(6,n,e)}function Qfe(n,e){return An(n.substr(0,e.length),e)}function zu(n,e){return mi(e)?QD(n,e):!!Ar(n.f,e)}function Oi(n,e){for(_n(e);n.Ob();)e.td(n.Pb())}function Pw(n,e,t){jl(),this.e=n,this.d=e,this.a=t}function o1(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function jW(n){var e;for(e=n;e.f;)e=e.f;return e}function y2(n){var e;return e=t6(n),ne(e!=null),e}function Jfe(n){var e;return e=Lge(n),ne(e!=null),e}function d3(n,e){var t;return t=n.a.gc(),$X(e,t),t-e}function EW(n,e){var t;for(t=0;t0?j.Math.log(n/e):-100}function xCn(n,e){return fc(n,e)<0?-1:fc(n,e)>0?1:0}function SW(n,e,t){return MRn(n,u(e,46),u(t,167))}function LCn(n,e){return u(vW(Ed(n.a)).Xb(e),42).cd()}function uhe(n,e){return P0e(e,n.length),new REn(n,e)}function DD(n,e){this.d=n,ie.call(this,n),this.e=e}function Cd(n){this.d=(_n(n),n),this.a=0,this.c=IM}function PW(n,e){cd.call(this,1),this.a=n,this.b=e}function NCn(n,e){return n.c?NCn(n.c,e):W(n.b,e),n}function she(n,e,t){var i;return i=ub(n,e),g$(n,e,t),i}function IW(n,e){var t;return t=n.slice(0,e),WX(t,n)}function BCn(n,e,t){var i;for(i=0;i=n.g}function KD(n,e,t){var i;return i=Y$(n,e,t),rZ(n,i)}function j2(n,e){var t;t=n.a.length,ub(n,t),g$(n,t,e)}function ZCn(n,e){var t;t=console[n],t.call(console,e)}function nTn(n,e){var t;++n.j,t=n.Vi(),n.Ii(n.oi(t,e))}function mhe(n,e,t){u(e.b,65),Yc(e.a,new NU(n,t,e))}function FW(n,e,t){uj.call(this,e),this.a=n,this.b=t}function xW(n,e,t){cd.call(this,n),this.a=e,this.b=t}function LW(n,e,t){this.a=n,xq.call(this,e),this.b=t}function eTn(n,e,t){this.a=n,aX.call(this,8,e,null,t)}function khe(n){this.a=(_n(xe),xe),this.b=n,new tG}function tTn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function NW(n){this.c=n,this.b=n.a.d.a,rU(n.a.e,this)}function Uu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return j.Math.sqrt(n.a*n.a+n.b*n.b)}function Md(n,e){return a3(e,n.a.c.length),un(n.a,e)}function $f(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function yhe(n){return 0>=n?new PG:sbe(n-1)}function jhe(n){return aw?QD(aw,n):!1}function iTn(n){return n?n.dc():!n.Kc().Ob()}function Gi(n){return!n.a&&n.c?n.c.b:n.a}function Ehe(n){return!n.a&&(n.a=new Jt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Jt(ar,n,1)),n.d}function _n(n){if(n==null)throw T(new Nv);return n}function N5(n){n.c?n.c.He():(n.d=!0,S8e(n))}function fl(n){n.c?fl(n.c):(Ta(n),n.d=!0)}function rTn(n){KW(n.a),n.b=F(Zn,rn,1,n.b.length,5,1)}function Che(n,e){return Uc(e.j.c.length,n.j.c.length)}function The(n,e){n.c<0||n.b.b=0?n.Bh(t):bY(n,e)}function cTn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function Ahe(n){if(n.p!=4)throw T(new fu);return n.e}function She(n){if(n.p!=3)throw T(new fu);return n.e}function Phe(n){if(n.p!=6)throw T(new fu);return n.f}function Ihe(n){if(n.p!=6)throw T(new fu);return n.k}function Ohe(n){if(n.p!=3)throw T(new fu);return n.j}function Dhe(n){if(n.p!=4)throw T(new fu);return n.j}function BW(n){return!n.b&&(n.b=new sj(new KI)),n.b}function Sd(n){return n.c==-2&&Pte(n,Qve(n.g,n.b)),n.c}function g3(n,e){var t;return t=LD("",n),t.n=e,t.i=1,t}function $he(n,e){yD(u(e.b,65),n),Yc(e.a,new Aq(n))}function Fhe(n,e){me((!n.a&&(n.a=new l8(n,n)),n.a),e)}function uTn(n,e){this.b=n,DD.call(this,n,e),$yn(this)}function sTn(n,e){this.b=n,AU.call(this,n,e),Fyn(this)}function RW(n,e,t,i){bd.call(this,n,e),this.d=t,this.a=i}function VE(n,e,t,i){bd.call(this,n,t),this.a=e,this.f=i}function oTn(n,e){bce.call(this,obe(pe(n),pe(e))),this.a=e}function fTn(){UJ.call(this,Ka,(a8n(),hee)),tEe(this)}function hTn(){UJ.call(this,Vs,(Qp(),g1n)),lje(this)}function lTn(){Oe.call(this,"DELAUNAY_TRIANGULATION",0)}function xhe(n){return String.fromCharCode.apply(null,n)}function it(n,e,t){return mi(e)?kr(n,e,t):_c(n.f,e,t)}function _W(n){return Pn(),n?n.ve():(Ow(),Ow(),Bin)}function Lhe(n,e,t){return L2(),t.pg(n,u(e.cd(),146))}function aTn(n,e){return PE(),new JQ(new Wyn(n),new Uyn(e))}function Nhe(n){return is(n,AL),KC(qi(qi(5,n),n/10|0))}function QE(){QE=N,fzn=new GI(A(M(Ha,1),OM,42,0,[]))}function dTn(n){return!n.d&&(n.d=new _p(n.c.Cc())),n.d}function p3(n){return!n.a&&(n.a=new W9n(n.c.vc())),n.a}function bTn(n){return!n.b&&(n.b=new Wp(n.c.ec())),n.b}function rh(n,e){for(;e-- >0;)n=n<<1|(n<0?1:0);return n}function pc(n,e){return B(n)===B(e)||n!=null&&tt(n,e)}function Bhe(n,e){return qn(),u(e.b,19).ai&&++i,i}function Oh(n){var e,t;return t=(e=new ud,e),O3(t,n),t}function UD(n){var e,t;return t=(e=new ud,e),VJ(t,n),t}function Zhe(n,e){var t;return t=te(n.f,e),MV(e,t),null}function WD(n){var e;return e=hbe(n),e||null}function CTn(n){return!n.b&&(n.b=new V(di,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function t1e(n,e){return Zt(bu(n)*Gu(n),bu(e)*Gu(e))}function i1e(n,e){return Zt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return Zt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?nu(n,e.b-n.f/2):Zc(n,e.a-n.g/2)}function MTn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ATn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function ha(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function STn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function PTn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function ITn(n,e,t,i){ms(),ySn.call(this,e,t,i),this.a=n}function OTn(n,e){this.a=n,hue.call(this,n,u(n.d,15).Zc(e))}function XD(n){this.f=n,this.c=this.f.e,n.f>0&&qFn(this)}function DTn(n,e,t,i){this.b=n,this.c=i,FO.call(this,e,t)}function $Tn(n){return ne(n.b=0&&An(n.substr(t,e.length),e)}function hl(n,e,t,i,r,c,o){return new v$(n.e,e,t,i,r,c,o)}function QTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function JTn(n,e,t,i,r,c){this.a=n,z$.call(this,e,t,i,r,c)}function YTn(n,e){this.g=n,this.d=A(M(vh,1),E1,10,0,[e])}function f1(n,e){this.e=n,this.a=Zn,this.b=yBn(e),this.c=e}function ZTn(n,e){kE.call(this),eV(this),this.a=n,this.c=e}function M8(n,e,t,i){Mt(n.c[e.g],t.g,i),Mt(n.c[t.g],e.g,i)}function ZD(n,e,t,i){Mt(n.c[e.g],e.g,t),Mt(n.b[e.g],e.g,i)}function M1e(){return x8(),A(M(ron,1),z,376,0,[uK,iy])}function A1e(){return K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])}function S1e(){return V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])}function P1e(){return OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])}function I1e(){return kC(),A(M(fun,1),z,420,0,[j_,oun])}function O1e(){return z8(),A(M(non,1),z,421,0,[iK,rK])}function D1e(){return z5(),A(M(bJn,1),z,523,0,[Hm,Km])}function $1e(){return No(),A(M(BJn,1),z,520,0,[tw,Bl])}function F1e(){return Ff(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return ef(),A(M(EJn,1),z,515,0,[Ja,kf])}function L1e(){return Id(),A(M(zJn,1),z,455,0,[Rl,Lg])}function N1e(){return gC(),A(M(Son,1),z,425,0,[yK,Aon])}function B1e(){return aC(),A(M(Mon,1),z,480,0,[kK,Ton])}function R1e(){return iT(),A(M(Pon,1),z,495,0,[EP,mv])}function _1e(){return $C(),A(M(Oon,1),z,426,0,[Ion,TK])}function K1e(){return c7(),A(M(Ffn,1),z,429,0,[DP,$fn])}function H1e(){return L8(),A(M(afn,1),z,430,0,[FK,IP])}function q1e(){return $T(),A(M(Jin,1),z,428,0,[yR,Qin])}function G1e(){return RC(),A(M(Zin,1),z,427,0,[Yin,jR])}function z1e(){return _C(),A(M(Arn,1),z,424,0,[$R,tS])}function U1e(){return B3(),A(M(NWn,1),z,511,0,[_k,UR])}function sC(n,e,t,i){return t>=0?n.jh(e,t,i):n.Sg(null,t,i)}function n$(n){return n.b.b==0?n.a.$e():aD(n.b)}function W1e(n){if(n.p!=5)throw T(new fu);return ge(n.f)}function X1e(n){if(n.p!=5)throw T(new fu);return ge(n.k)}function VW(n){return B(n.a)===B((eF(),gH))&&Vje(n),n.a}function nMn(n){this.a=u(pe(n),271),this.b=(Pn(),new Hz(n))}function eMn(n,e){bte(this,new fn(n.a,n.b)),wte(this,p8(e))}function Id(){Id=N,Rl=new iz(Y2,0),Lg=new iz(Z2,1)}function Ff(){Ff=N,M0=new ez(Z2,0),I1=new ez(Y2,1)}function Od(){rie.call(this,new s2(sb(12))),Bz(!0),this.a=2}function e$(n,e,t){Je(),cd.call(this,n),this.b=e,this.a=t}function QW(n,e,t){ms(),uj.call(this,e),this.a=n,this.b=t}function tMn(n){kE.call(this),eV(this),this.a=n,this.c=!0}function iMn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function oC(n){var e;ebe(n.a),byn(n.a),e=new tj(n.a),TQ(e)}function V1e(n,e){aBn(n,!0),Yc(n.e.wf(),new $U(n,!0,e))}function fC(n,e){return LAn(e),Y0e(n,F(be,Le,25,e,15,1),e)}function Q1e(n,e){return C2(),n==At(fh(e))||n==At(ml(e))}function vc(n,e){return e==null?Vr(Ar(n.f,null)):n5(n.g,e)}function J1e(n){return n.b==0?null:(ne(n.b!=0),Ts(n,n.a.a))}function Gt(n){return Math.max(Math.min(n,nt),-2147483648)|0}function Y1e(n,e){var t=lR[n.charCodeAt(0)];return t??n}function hC(n,e){return tC(n,"set1"),tC(e,"set2"),new Z8n(n,e)}function Z1e(n,e){var t;return t=W0e(n.f,e),st(vE(t),n.f.d)}function R5(n,e){var t,i;return t=e,i=new dI,n_n(n,t,i),i.d}function t$(n,e,t,i){var r;r=new Gjn,e.a[t.g]=r,m2(n.b,i,r)}function JW(n,e,t){var i;i=n.Yg(e),i>=0?n.sh(i,t):_Y(n,e,t)}function Dw(n,e,t){dC(),n&&it(dH,n,e),n&&it($y,n,t)}function rMn(n,e,t){this.i=new X,this.b=n,this.g=e,this.a=t}function lC(n,e,t){this.c=new X,this.e=n,this.f=e,this.b=t}function YW(n,e,t){this.a=new X,this.e=n,this.f=e,this.c=t}function cMn(n,e){oE(this),this.f=e,this.g=n,eC(this),this._d()}function A8(n,e){var t;t=n.q.getHours(),n.q.setDate(e),S6(n,t)}function uMn(n,e){var t;for(pe(e),t=n.a;t;t=t.c)e.Od(t.g,t.i)}function sMn(n){var e;return e=new kj(sb(n.length)),qV(e,n),e}function nle(n){function e(){}return e.prototype=n||{},new e}function ele(n,e){return LOn(n,e)?(FIn(n),!0):!1}function Dh(n,e){if(e==null)throw T(new Nv);return Y2e(n,e)}function tle(n){if(n.qe())return null;var e=n.n;return RA[e]}function S8(n){return n.Db>>16!=3?null:u(n.Cb,33)}function nf(n){return n.Db>>16!=9?null:u(n.Cb,33)}function oMn(n){return n.Db>>16!=6?null:u(n.Cb,79)}function fMn(n){return n.Db>>16!=7?null:u(n.Cb,235)}function hMn(n){return n.Db>>16!=7?null:u(n.Cb,160)}function At(n){return n.Db>>16!=11?null:u(n.Cb,33)}function lMn(n,e){var t;return t=n.Yg(e),t>=0?n.lh(t):Ox(n,e)}function aMn(n,e){var t;return t=new iW(e),dxn(t,n),new du(t)}function ZW(n){var e;return e=n.d,e=n.si(n.f),me(n,e),e.Ob()}function dMn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function i$(n,e){return j.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new fi,this.g=0,this.i=0}function wMn(n){this.a=n,this.b=F(lJn,q,1944,n.e.length,0,2)}function r$(n,e,t){var i;i=tDn(n,e,t),n.b=new tT(i.c.length)}function ef(){ef=N,Ja=new nz(hN,0),kf=new nz("UP",1)}function aC(){aC=N,kK=new rz(PHn,0),Ton=new rz("FAN",1)}function dC(){dC=N,dH=new we,$y=new we,Ere(Azn,new z2n)}function rle(n){if(n.p!=0)throw T(new fu);return b5(n.f,0)}function cle(n){if(n.p!=0)throw T(new fu);return b5(n.k,0)}function gMn(n){return n.Db>>16!=3?null:u(n.Cb,147)}function y3(n){return n.Db>>16!=6?null:u(n.Cb,235)}function eb(n){return n.Db>>16!=17?null:u(n.Cb,26)}function pMn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.le(e))}function ule(n,e){var t;return t=n.a.get(e),t??new Array}function sle(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),S6(n,t)}function kr(n,e,t){return e==null?_c(n.f,null,t):Gd(n.g,e,t)}function _5(n,e,t,i,r,c){return new Lh(n.e,e,n.aj(),t,i,r,c)}function P8(n,e,t){return n.a=Yu(n.a,0,e)+(""+t)+r8(n.a,e),n}function ole(n,e,t){return W(n.a,(QE(),ex(e,t),new bd(e,t))),n}function nX(n){return _z(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function vMn(n){return _z(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function yr(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&W(n.i.j,n)}function mMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function kMn(n,e,t){this.a=e,this.c=n,this.b=(pe(t),new du(t))}function yMn(n,e){this.a=n,this.c=Qr(this.a),this.b=new uC(e)}function fle(n){var e;return Ta(n),e=new fi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new vr(cnn+n+unn+e))}function eX(n,e){return lCn(n.a,e)?TW(n,u(e,22).g,null):null}function hle(n){return yF(),qn(),u(n.a,81).d.e!=0}function jMn(){jMn=N,azn=Fe((aj(),A(M(lzn,1),z,538,0,[fR])))}function EMn(){EMn=N,YQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function tX(){tX=N,ZQn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function CMn(){CMn=N,eJn=ju(new hi,(Qi(),Ir),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function Zu(){Zu=N,mJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function c$(){c$=N,TJn=Ze(new hi,(Qi(),Ir),(rr(),km))}function AMn(){AMn=N,lYn=ju(new hi,(c4(),Gm),(k6(),lK))}function aa(n,e,t,i){this.c=n,this.d=i,s$(this,e),o$(this,t)}function M2(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=j.Math.cos(n),this.b=j.Math.sin(n)}function s$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&W(n.b.f,n)}function SMn(n,e){mhe(n,n.b,n.c),u(n.b.b,65),e&&u(e.b,65).b}function lle(n,e){vQ(n,e),I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Iu(u(n.Cb,88)),4),Ic(n,e)}function bC(n,e){I(n.Cb,179)&&(u(n.Cb,179).tb=null),Ic(n,e)}function mc(n,e){return er(),R$(e)?new IE(e,n):new i8(e,n)}function ale(n,e){var t,i;t=e.c,i=t!=null,i&&j2(n,new Z0(e.c))}function PMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function IMn(n){var e,t;return t=(Qp(),e=new ud,e),O3(t,n),t}function OMn(n,e){var t;return t=new Rs(n),e.c[e.c.length]=t,t}function DMn(n,e){var t;return t=u(ab(T2(n.a),e),14),t?t.gc():0}function $Mn(n){var e;return Ta(n),e=(Ow(),Ow(),Nin),qC(n,e)}function FMn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function iX(n,e){tie.call(this,new s2(sb(n))),is(e,W_n),this.a=e}function ch(n,e,t){KDn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function xMn(n,e,t){var i;KDn(e,t,n.c.length),i=t-e,AG(n.c,e,i)}function dle(n,e){Dyn(n,ge(ci(cl(e,24),FM)),ge(ci(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new vr(cnn+n+unn+e))}function Me(n,e){if(n<0||n>=e)throw T(new wG(cnn+n+unn+e))}function xn(n,e){this.b=(_n(n),n),this.a=e&Ib?e:e|64|Nf}function LMn(n){dyn(this),Wmn(this.a,KV(j.Math.max(8,n))<<1)}function tf(n){return Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])}function ple(){return Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])}function vle(){return qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])}function mle(){return W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])}function kle(){return i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])}function yle(){return F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])}function jle(){return VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])}function Ele(){return ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])}function Cle(){return Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])}function Tle(){return Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])}function Mle(){return q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])}function Ale(){return ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])}function Sle(){return Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])}function Ple(){return oT(),A(M(ion,1),z,375,0,[eon,cK,ton])}function Ile(){return dT(),A(M(hon,1),z,377,0,[fK,pv,ew])}function Ole(){return Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])}function Dle(){return uT(),A(M(fon,1),z,338,0,[oon,oK,son])}function $le(){return _d(),A(M(fJn,1),z,454,0,[ry,_m,aP])}function Fle(){return CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])}function xle(){return f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])}function Lle(){return ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])}function Nle(){return sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])}function Ble(){return w7(),A(M(OK,1),z,437,0,[AP,SP,PP])}function Rle(){return _h(),A(M(Khn,1),z,334,0,[HP,F1,i9])}function _le(){return sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])}function Kle(n,e){return o9e(n,e,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Hle(n,e,t){var i;return i=O6(n,e,!1),i.b<=e&&i.a<=t}function NMn(n,e,t){var i;i=new Jwn,i.b=e,i.a=t,++e.b,W(n.d,i)}function qle(n,e){var t;return t=(_n(n),n).g,Yz(!!t),_n(e),t(e)}function rX(n,e){var t,i;return i=d3(n,e),t=n.a.Zc(i),new Y8n(n,t)}function Gle(n){return n.Db>>16!=6?null:u(Fx(n),235)}function zle(n){if(n.p!=2)throw T(new fu);return ge(n.f)&Ut}function Ule(n){if(n.p!=2)throw T(new fu);return ge(n.k)&Ut}function Wle(n){return n.a==(T3(),uI)&&Ste(n,C9e(n.g,n.b)),n.a}function A2(n){return n.d==(T3(),uI)&&Ite(n,pke(n.g,n.b)),n.d}function y(n){return ne(n.ai?1:0}function BMn(n,e){var t,i;return t=F$(e),i=t,u(te(n.c,i),19).a}function RMn(n,e){var t;for(t=n+"";t.length0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function rAn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function rae(n){return!!n.a&&Ou(n.a.a).i!=0&&!(n.b&&YF(n.b))}function cae(n){return!!n.u&&bc(n.u.a).i!=0&&!(n.n&&JF(n.n))}function cAn(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),16,new tvn(n))}function uae(n,e){return xCn(eu(n.q.getTime()),eu(e.q.getTime()))}function xf(n){return u(lf(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(lf(n,F(vh,E1,10,n.c.length,0,1)),193)}function sae(n){return Zu(),!Xi(n)&&!(!Xi(n)&&n.c.i.c==n.d.i.c)}function uAn(n,e,t){var i;i=(pe(n),new du(n)),N3e(new mMn(i,e,t))}function O8(n,e,t){var i;i=(pe(n),new du(n)),B3e(new kMn(i,e,t))}function sAn(n,e){var t;return t=1-e,n.a[t]=eT(n.a[t],t),eT(n,e)}function oAn(n,e){var t;n.e=new oG,t=Cb(e),bi(t,n.c),eBn(n,t,0)}function Ci(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.a,r)}function Z(n,e,t,i){var r;r=new XH,r.a=e,r.b=t,r.c=i,Ke(n.b,r)}function po(n){var e,t,i;return e=new HCn,t=Zx(e,n),UEe(e),i=t,i}function hX(){var n,e,t;return e=(t=(n=new ud,n),t),W(M1n,e),e}function pC(n){return n.j.c=F(Zn,rn,1,0,5,1),KW(n.c),Khe(n.a),n}function $w(n){return Qv(),I(n.g,10)?u(n.g,10):null}function oae(n){return Iw(n).dc()?!1:(sce(n,new Np),!0)}function fae(n){if(!("stack"in n))try{throw n}catch{}return n}function D8(n,e){if(n<0||n>=e)throw T(new vr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new vr(W5e(n,e,t)))}function d$(n,e){if(ri(n.a,e),e.d)throw T(new _r(wKn));e.d=n}function b$(n,e){if(e.$modCount!=n.$modCount)throw T(new vs)}function hAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function lAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function aAn(n,e){return I(e,42)?ix(n.a,u(e,42)):!1}function hae(n,e){return n.a<=n.b?(e.ud(n.a++),!0):!1}function $d(n){var e;return $r(n)?(e=n,e==-0?0:e):m0e(n)}function vC(n){var e;return fl(n),e=new fln,vw(n.a,new Wvn(e)),e}function dAn(n){var e;return fl(n),e=new oln,vw(n.a,new Uvn(e)),e}function Ii(n,e){this.a=n,$v.call(this,n),tb(e,n.gc()),this.b=e}function lX(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function lae(n){return gD(n.e.Hd().gc()*n.c.Hd().gc(),273,new evn(n))}function mC(n){return new Pc((is(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(lf(n,F(FWn,UKn,11,n.c.length,0,1)),1943)}function aae(n,e,t){return t.f.c.length>0?SW(n.a,e,t):SW(n.b,e,t)}function dae(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Q0(n.d.e,t,n)}function w$(n,e){uTe(e,n),WU(n.d),WU(u(k(n,(nn(),eP)),207))}function H5(n,e){cTe(e,n),UU(n.d),UU(u(k(n,(nn(),eP)),207))}function Fd(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.fe()),i}function j3(n,e){var t,i;return t=ub(n,e),i=null,t&&(i=t.ie()),i}function q5(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=t.ie()),i}function $h(n,e){var t,i;return t=Dh(n,e),i=null,t&&(i=tY(t)),i}function bae(n,e,t){var i;return i=i4(t),gM(n.g,i,e),gM(n.i,e,t),e}function wae(n,e,t){var i;i=q2e();try{return kue(n,e,t)}finally{Mae(i)}}function wAn(n){var e;e=n.Wg(),this.a=I(e,69)?u(e,69).Zh():e.Kc()}function hi(){P9n.call(this),this.j.c=F(Zn,rn,1,0,5,1),this.a=-1}function aX(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function gAn(n,e,t,i){this.e=i,this.d=null,this.c=n,this.a=e,this.b=t}function dX(n,e,t){this.d=new r6n(this),this.e=n,this.i=e,this.f=t}function kC(){kC=N,j_=new QG(I4,0),oun=new QG("TOP_LEFT",1)}function pAn(){pAn=N,aon=aTn(Q(1),Q(4)),lon=aTn(Q(1),Q(2))}function vAn(){vAn=N,uZn=Fe((Ij(),A(M(cZn,1),z,551,0,[$K])))}function mAn(){mAn=N,rZn=Fe((Pj(),A(M(lfn,1),z,482,0,[DK])))}function kAn(){kAn=N,CZn=Fe((Jv(),A(M(Dfn,1),z,530,0,[hy])))}function yAn(){yAn=N,IUn=Fe((Aj(),A(M(krn,1),z,481,0,[SR])))}function gae(){return Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])}function pae(){return FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])}function vae(){return d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])}function mae(){return K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])}function kae(){return G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])}function yae(){return aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])}function jAn(n,e,t,i){return I(t,54)?new ojn(n,e,t,i):new pW(n,e,t,i)}function jae(){return ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])}function Eae(n){var e;return n.j==(J(),ae)&&(e=GLn(n),au(e,Vn))}function Cae(n,e){var t;t=e.a,Hi(t,e.c.d),Ei(t,e.d.d),fb(t.a,n.n)}function EAn(n,e){return u(yd(KE(u(ct(n.k,e),15).Oc(),jg)),113)}function CAn(n,e){return u(yd(HE(u(ct(n.k,e),15).Oc(),jg)),113)}function Tae(n){return new xn(jbe(u(n.a.dd(),14).gc(),n.a.cd()),16)}function E3(n){return I(n,14)?u(n,14).dc():!n.Kc().Ob()}function S2(n){return Qv(),I(n.g,145)?u(n.g,145):null}function TAn(n){if(n.e.g!=n.b)throw T(new vs);return!!n.c&&n.d>0}function Re(n){return ne(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function bX(n,e){_n(e),Mt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,MFn(n)}function ll(n,e){_n(e),n.b=n.b-1&n.a.length-1,Mt(n.a,n.b,e),MFn(n)}function MAn(n,e){var t;for(t=n.j.c.length;t0&&gc(n.g,0,e,0,n.i),e}function IAn(n,e){$j();var t;return t=u(te(eI,n),55),!t||t.wj(e)}function Bae(n){if(n.p!=1)throw T(new fu);return ge(n.f)<<24>>24}function Rae(n){if(n.p!=1)throw T(new fu);return ge(n.k)<<24>>24}function _ae(n){if(n.p!=7)throw T(new fu);return ge(n.k)<<16>>16}function Kae(n){if(n.p!=7)throw T(new fu);return ge(n.f)<<16>>16}function Fh(n){var e;for(e=0;n.Ob();)n.Pb(),e=qi(e,1);return KC(e)}function OAn(n,e){var t;return t=new R0,n.xd(t),t.a+="..",e.yd(t),t.a}function Hae(n,e,t){var i;i=u(te(n.g,t),57),W(n.a.c,new Pi(e,i))}function qae(n,e,t){return TD(Y(Vr(Ar(n.f,e))),Y(Vr(Ar(n.f,t))))}function yC(n,e,t){return vM(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function Gae(n,e,t){return m4(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function zae(n,e,t){return b9e(n,e,t,I(e,99)&&(u(e,18).Bb&Yi)!=0)}function pX(n,e){return n==(Qn(),ti)&&e==ti?4:n==ti||e==ti?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?iu:Lr(e)}function Uae(n,e){return u(e==null?Vr(Ar(n.f,null)):n5(n.g,e),281)}function $An(n,e,t){var i;return i=i4(t),it(n.b,i,e),it(n.c,e,t),e}function FAn(n,e){var t;for(t=e;t;)U0(n,t.i,t.j),t=At(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function uh(n,e){er();var t;return t=u(n,66).Mj(),M5e(t,e),t.Ok(e)}function Wae(n,e,t,i,r){var c;c=m9e(r,t,i),W(e,p6e(r,c)),o5e(n,r,e)}function xAn(n,e,t){n.i=0,n.e=0,e!=t&&(uDn(n,e,t),cDn(n,e,t))}function mX(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+Tl),S6(n,t)}function Xae(n,e,t){if(t){var i=t.ee();n.a[e]=i(t)}else delete n.a[e]}function g$(n,e,t){if(t){var i=t.ee();t=i(t)}else t=void 0;n.a[e]=t}function LAn(n){if(n<0)throw T(new K9n("Negative array size: "+n))}function bc(n){return n.n||(Iu(n),n.n=new wCn(n,ar,n),Mr(n)),n.n}function G5(n){return ne(n.a=0&&n.a[t]===e[t];t--);return t<0}function KAn(n,e){V3();var t;return t=n.j.g-e.j.g,t!=0?t:0}function HAn(n,e){return _n(e),n.a!=null?$fe(e.Kb(n.a)):UA}function jC(n){var e;return n?new iW(n):(e=new Sh,nF(e,n),e)}function es(n,e){var t;return e.b.Kb(FPn(n,e.c.Ee(),(t=new Jvn(e),t)))}function EC(n){_J(),Dyn(this,ge(ci(cl(n,24),FM)),ge(ci(n,FM)))}function qAn(){qAn=N,Gzn=Fe(($T(),A(M(Jin,1),z,428,0,[yR,Qin])))}function GAn(){GAn=N,zzn=Fe((RC(),A(M(Zin,1),z,427,0,[Yin,jR])))}function zAn(){zAn=N,WUn=Fe((_C(),A(M(Arn,1),z,424,0,[$R,tS])))}function UAn(){UAn=N,BWn=Fe((B3(),A(M(NWn,1),z,511,0,[_k,UR])))}function WAn(){WAn=N,lXn=Fe((V8(),A(M(Wcn,1),z,419,0,[$S,Ucn])))}function XAn(){XAn=N,wXn=Fe((K8(),A(M(Qcn,1),z,479,0,[Vcn,xS])))}function VAn(){VAn=N,XQn=Fe((x8(),A(M(ron,1),z,376,0,[uK,iy])))}function QAn(){QAn=N,GQn=Fe((z8(),A(M(non,1),z,421,0,[iK,rK])))}function JAn(){JAn=N,sXn=Fe((OC(),A(M(Rcn,1),z,422,0,[Bcn,s_])))}function YAn(){YAn=N,jXn=Fe((kC(),A(M(fun,1),z,420,0,[j_,oun])))}function ZAn(){ZAn=N,RJn=Fe((No(),A(M(BJn,1),z,520,0,[tw,Bl])))}function nSn(){nSn=N,wJn=Fe((z5(),A(M(bJn,1),z,523,0,[Hm,Km])))}function eSn(){eSn=N,jJn=Fe((Ff(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((ef(),A(M(EJn,1),z,515,0,[Ja,kf])))}function iSn(){iSn=N,UJn=Fe((Id(),A(M(zJn,1),z,455,0,[Rl,Lg])))}function rSn(){rSn=N,hYn=Fe((gC(),A(M(Son,1),z,425,0,[yK,Aon])))}function cSn(){cSn=N,wYn=Fe((iT(),A(M(Pon,1),z,495,0,[EP,mv])))}function uSn(){uSn=N,fYn=Fe((aC(),A(M(Mon,1),z,480,0,[kK,Ton])))}function sSn(){sSn=N,vYn=Fe(($C(),A(M(Oon,1),z,426,0,[Ion,TK])))}function oSn(){oSn=N,TZn=Fe((c7(),A(M(Ffn,1),z,429,0,[DP,$fn])))}function fSn(){fSn=N,sZn=Fe((L8(),A(M(afn,1),z,430,0,[FK,IP])))}function z5(){z5=N,Hm=new ZG("UPPER",0),Km=new ZG("LOWER",1)}function Yae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function Zae(n,e){var t;t=new r2,la(t,"x",e.a),la(t,"y",e.b),j2(n,t)}function nde(n,e){var t,i;i=!1;do t=JOn(n,e),i=i|t;while(t);return i}function jX(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function hSn(n,e){var t;for(t=e;t;)U0(n,-t.i,-t.j),t=At(t);return n}function $i(n,e){var t,i;for(_n(e),i=n.Kc();i.Ob();)t=i.Pb(),e.td(t)}function lSn(n,e){var t;return t=e.cd(),new bd(t,n.e.pc(t,u(e.dd(),14)))}function Kt(n,e,t,i){var r;r=new aI,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Es(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function ede(n,e,t){return u(e==null?_c(n.f,null,t):Gd(n.g,e,t),281)}function k$(n){return n.c&&n.d?cX(n.c)+"->"+cX(n.d):"e_"+md(n)}function C3(n,e){return(Ta(n),Wv(new $n(n,new UX(e,n.a)))).sd(V4)}function tde(){return Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])}function ide(){return J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])}function rde(n){return gj(),function(){return wae(n,this,arguments)}}function cde(){return Date.now?Date.now():new Date().getTime()}function Xi(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function aSn(n){if(!n.c.Sb())throw T(new ic);return n.a=!0,n.c.Ub()}function $8(n){n.i=0,z9(n.b,null),z9(n.c,null),n.a=null,n.e=null,++n.g}function EX(n){are.call(this,n==null?iu:Lr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Ct,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn($t,$t),this.a=new fn(Vt,Vt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!pf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,pf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?An(n.c,u(e,149).c):!1}function TX(n,e){var t;return t=0,n&&(t+=n.f.a/2),e&&(t+=e.f.a/2),t}function j$(n,e){var t;return t=u(xd(n.d,e),23),t||u(xd(n.e,e),23)}function gSn(n){this.b=n,ie.call(this,n),this.a=u(Rn(this.b.a,4),126)}function pSn(n){this.b=n,w2.call(this,n),this.a=u(Rn(this.b.a,4),126)}function Iu(n){return n.t||(n.t=new Amn(n),s6(new _9n(n),0,n.t)),n.t}function ude(){return sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])}function sde(){return qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])}function ode(){return Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])}function fde(){return P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])}function hde(){return b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])}function lde(){return Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])}function ade(){return g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])}function dde(){return Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])}function bde(){return Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])}function T3(){T3=N;var n,e;cI=(Qp(),e=new fj,e),uI=(n=new BI,n)}function vSn(n){var e;return n.c||(e=n.r,I(e,88)&&(n.c=u(e,26))),n.c}function wde(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function E$(n){var e,t,i;return e=n&Lu,t=n>>22&Lu,i=n<0?Wh:0,Bc(e,t,i)}function gde(n){var e,t,i,r;for(t=n,i=0,r=t.length;i0?g$n(n,e):BNn(n,-e)}function MX(n,e){return e==0||n.e==0?n:e>0?BNn(n,e):g$n(n,-e)}function ve(n){if(Se(n))return n.c=n.a,n.a.Pb();throw T(new ic)}function kSn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Qn(),Xt)&&t.k==Xt}function C$(n){var e;return e=new Pd,Sr(e,n),H(e,(nn(),Tr),null),e}function T$(n,e,t){var i;return i=n.Yg(e),i>=0?n._g(i,t,!0):Yd(n,e,t)}function AX(n,e,t,i){var r;for(r=0;re)throw T(new vr(fY(n,e,"index")));return n}function M$(n,e,t,i){var r;return r=F(be,Le,25,e,15,1),Pve(r,n,e,t,i),r}function vde(n,e){var t;t=n.q.getHours()+(e/60|0),n.q.setMinutes(e),S6(n,t)}function mde(n,e){return j.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return mi(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function uf(n){this.c=n,this.a=new E(this.c.a),this.b=new E(this.c.b)}function TC(){this.e=new X,this.c=new X,this.d=new X,this.b=new X}function TSn(){this.g=new zq,this.b=new zq,this.a=new X,this.k=new X}function MSn(n,e,t){this.a=n,this.c=e,this.d=t,W(e.e,this),W(t.b,this)}function ASn(n,e){Hkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function SSn(n,e){qkn.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function FX(n,e){FO.call(this,e.rd(),e.qd()&-6),_n(n),this.a=n,this.b=e}function MC(n,e,t){this.a=n,this.b=e,this.c=t,W(n.t,this),W(e.i,this)}function AC(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ii("separateLayerConnections",(aT(),QR))}function No(){No=N,tw=new tz("REGULAR",0),Bl=new tz("CRITICAL",1)}function x8(){x8=N,uK=new YG("STACKED",0),iy=new YG("SEQUENCED",1)}function L8(){L8=N,FK=new oz("FIXED",0),IP=new oz("CENTER_NODE",1)}function kde(n,e){var t;return t=CEe(n,e),n.b=new tT(t.c.length),Lje(n,t)}function yde(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].$c(t),133),i.dd()}function ISn(n){var e;return n.a||(e=n.r,I(e,148)&&(n.a=u(e,148))),n.a}function xX(n){if(n.a){if(n.e)return xX(n.e)}else return n;return null}function jde(n,e){return n.pe.p?-1:0}function PC(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function $Sn(){$Sn=N,Vzn=Fe((_o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])))}function FSn(){FSn=N,Jzn=Fe((Cu(),A(M(Qzn,1),z,461,0,[Xf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Jc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((hf(),A(M(Nu,1),z,132,0,[Win,hs,Rb])))}function NSn(){NSn=N,bWn=Fe((W5(),A(M(Krn,1),z,379,0,[NR,LR,BR])))}function BSn(){BSn=N,PWn=Fe((qd(),A(M(zrn,1),z,423,0,[yg,Grn,qR])))}function RSn(){RSn=N,oXn=Fe((F2(),A(M(Kcn,1),z,314,0,[ap,qk,_cn])))}function _Sn(){_Sn=N,fXn=Fe((VC(),A(M(qcn,1),z,337,0,[Hcn,DS,o_])))}function KSn(){KSn=N,dXn=Fe((ya(),A(M(aXn,1),z,450,0,[l_,cv,Tg])))}function HSn(){HSn=N,rXn=Fe((Kd(),A(M(YR,1),z,361,0,[g0,Fl,w0])))}function qSn(){qSn=N,yXn=Fe((Nh(),A(M(kXn,1),z,303,0,[zk,Ag,dp])))}function GSn(){GSn=N,mXn=Fe((q3(),A(M(y_,1),z,292,0,[m_,k_,Gk])))}function zSn(){zSn=N,RQn=Fe((i6(),A(M(Gsn,1),z,378,0,[J_,qsn,oP])))}function USn(){USn=N,WQn=Fe((oT(),A(M(ion,1),z,375,0,[eon,cK,ton])))}function WSn(){WSn=N,qQn=Fe((Rh(),A(M(Zsn,1),z,339,0,[Nl,Ysn,tK])))}function XSn(){XSn=N,UQn=Fe((ur(),A(M(zQn,1),z,452,0,[Bm,Au,xc])))}function VSn(){VSn=N,JQn=Fe((dT(),A(M(hon,1),z,377,0,[fK,pv,ew])))}function QSn(){QSn=N,VQn=Fe((Q3(),A(M(uon,1),z,336,0,[sK,con,Rm])))}function JSn(){JSn=N,QQn=Fe((uT(),A(M(fon,1),z,338,0,[oon,oK,son])))}function YSn(){YSn=N,hJn=Fe((_d(),A(M(fJn,1),z,454,0,[ry,_m,aP])))}function ZSn(){ZSn=N,pYn=Fe((CT(),A(M(gYn,1),z,442,0,[CK,jK,EK])))}function nPn(){nPn=N,mYn=Fe((f7(),A(M(Fon,1),z,380,0,[CP,Don,$on])))}function ePn(){ePn=N,LYn=Fe((ET(),A(M(Yon,1),z,381,0,[Jon,IK,Qon])))}function tPn(){tPn=N,xYn=Fe((sT(),A(M(Xon,1),z,293,0,[PK,Won,Uon])))}function iPn(){iPn=N,iZn=Fe((w7(),A(M(OK,1),z,437,0,[AP,SP,PP])))}function rPn(){rPn=N,une=Fe((_h(),A(M(Khn,1),z,334,0,[HP,F1,i9])))}function cPn(){cPn=N,tne=Fe((sf(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Ti(),A(M(Ghn,1),z,98,0,[ql,jf,Tv,td,jh,Ac])}function wa(n,e){return!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),NF(n.o,e)}function Ide(n){return!n.g&&(n.g=new Qy),!n.g.d&&(n.g.d=new Cmn(n)),n.g.d}function Ode(n){return!n.g&&(n.g=new Qy),!n.g.a&&(n.g.a=new Tmn(n)),n.g.a}function Dde(n){return!n.g&&(n.g=new Qy),!n.g.b&&(n.g.b=new Emn(n)),n.g.b}function N8(n){return!n.g&&(n.g=new Qy),!n.g.c&&(n.g.c=new Mmn(n)),n.g.c}function $de(n,e,t){var i,r;for(r=new H3(e,n),i=0;it||e=0?n._g(t,!0,!0):Yd(n,e,!0)}function Qde(n,e){return Zt(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new hi,(c4(),qm)),(k6(),pP)),aK)}function Jde(n,e,t){var i;return i=tDn(n,e,t),n.b=new tT(i.c.length),JY(n,i)}function Yde(n){if(n.b<=0)throw T(new ic);return--n.b,n.a-=n.c.c,Q(n.a)}function Zde(n){var e;if(!n.a)throw T(new gTn);return e=n.a,n.a=At(n.a),e}function n0e(n){for(;!n.a;)if(!nEn(n.c,new Xvn(n)))return!1;return!0}function $2(n){var e;return pe(n),I(n,198)?(e=u(n,198),e):new dvn(n)}function e0e(n){DC(),u(n.We((Xe(),rw)),174).Fc((Tu(),Ty)),n.Ye(eH,null)}function DC(){DC=N,SZn=new n2n,IZn=new e2n,PZn=Rwe((Xe(),eH),SZn,_l,IZn)}function $C(){$C=N,Ion=new sz("LEAF_NUMBER",0),TK=new sz("NODE_SIZE",1)}function t0e(n,e,t){n.a=e,n.c=t,n.b.a.$b(),_s(n.d),n.e.a.c=F(Zn,rn,1,0,5,1)}function $$(n){n.a=F(be,Le,25,n.b+1,15,1),n.c=F(be,Le,25,n.b,15,1),n.d=0}function i0e(n,e){n.a.ue(e.d,n.b)>0&&(W(n.c,new QU(e.c,e.d,n.d)),n.b=e.d)}function zX(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.g[e]}function dPn(n,e,t){if(W3(n,t),t!=null&&!n.wj(t))throw T(new xI);return t}function bPn(n){var e;if(n.Ek())for(e=n.i-1;e>=0;--e)D(n,e);return gX(n)}function r0e(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function c0e(n,e){var t,i;return LAn(e),t=(i=n.slice(0,e),WX(i,n)),t.length=e,t}function S3(n,e,t,i){var r;i=(Ow(),i||Lin),r=n.slice(e,t),hY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?Yd(n,t,i):u(t,66).Nj().Pj(n,n.yh(),e,i,r)}function u0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Lr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ri(n.a,e),e.a=n,!n.j&&(n.j=e)}function UX(n,e){FO.call(this,e.rd(),e.qd()&-16449),_n(n),this.a=n,this.c=e}function gPn(n,e){var t,i;return i=e/n.c.Hd().gc()|0,t=e%n.c.Hd().gc(),D2(n,i,t)}function Cu(){Cu=N,Xf=new oO(Y2,0),Ol=new oO(I4,1),Co=new oO(Z2,2)}function FC(){FC=N,vR=new Lj("All",0),qin=new lyn,Gin=new Eyn,zin=new ayn}function pPn(){pPn=N,Dzn=Fe((FC(),A(M(WA,1),z,297,0,[vR,qin,Gin,zin])))}function vPn(){vPn=N,EWn=Fe((G3(),A(M(jWn,1),z,405,0,[b0,Hb,Kb,kg])))}function mPn(){mPn=N,CUn=Fe((Hd(),A(M(EUn,1),z,406,0,[Ok,Ik,MR,AR])))}function kPn(){kPn=N,MUn=Fe((K2(),A(M(TUn,1),z,323,0,[$k,Dk,Fk,xk])))}function yPn(){yPn=N,PUn=Fe((d6(),A(M(SUn,1),z,394,0,[Lk,YA,ZA,Nk])))}function jPn(){jPn=N,WJn=Fe((c4(),A(M(won,1),z,393,0,[gP,qm,uy,Gm])))}function EPn(){EPn=N,HWn=Fe((aT(),A(M(KWn,1),z,360,0,[QR,TS,MS,Hk])))}function CPn(){CPn=N,FYn=Fe((qT(),A(M(zon,1),z,340,0,[SK,qon,Gon,Hon])))}function TPn(){TPn=N,JWn=Fe((ff(),A(M(QWn,1),z,411,0,[lp,nv,ev,JR])))}function MPn(){MPn=N,_Qn=Fe((wb(),A(M(Z_,1),z,197,0,[fP,Y_,xg,Fg])))}function APn(){APn=N,Ene=Fe((Xu(),A(M(jne,1),z,396,0,[ws,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((cs(),A(M(sne,1),z,285,0,[Ey,kh,Kl,jy])))}function PPn(){PPn=N,ine=Fe((Hh(),A(M(cH,1),z,218,0,[rH,yy,Cv,Sp])))}function IPn(){IPn=N,kne=Fe((AT(),A(M(Qhn,1),z,311,0,[oH,Whn,Vhn,Xhn])))}function OPn(){OPn=N,vne=Fe((Vu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=$t,Tee=Vt,x1n=new S9($t),Mee=new S9(Vt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Pi(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A(Du(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Qc(n,e){var t;return t=Fr(n,e,0),t==-1?!1:(h1(n,t),!0)}function $Pn(n,e){var t;return t=u(O2(n.e,e),387),t?(ZU(t),t.e):null}function P3(n){var e;return $r(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function Fr(n,e,t){for(;t=0?BT(n,t,!0,!0):Yd(n,e,!0)}function YX(n,e){Qv();var t,i;return t=S2(n),i=S2(e),!!t&&!!i&&!V$n(t.k,i.k)}function a0e(n,e){Zc(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function b0e(n,e){Rd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function w0e(n,e){Bd(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function BPn(n){(this.q?this.q:(Pn(),Pn(),ph)).Ac(n.q?n.q:(Pn(),Pn(),ph))}function g0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function p0e(n,e){return I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n)}function RPn(n,e){vrn=new Wy,AUn=e,gm=n,u(gm.b,65),BX(gm,vrn,null),DRn(gm)}function B$(n,e,t){var i;return i=n.g[e],k5(n,e,n.oi(e,t)),n.gi(e,t,i),n.ci(),i}function BC(n,e){var t;return t=n.Xc(e),t>=0?(n.$c(t),!0):!1}function R$(n){var e;return n.d!=n.r&&(e=qs(n),n.e=!!e&&e.Cj()==kGn,n.d=e),n.e}function _$(n,e){var t;for(pe(n),pe(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function xd(n,e){var t;return t=u(te(n.e,e),387),t?(Oyn(n,t),t.e):null}function _Pn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function qr(n,e){var t,i;return Ta(n),i=new FX(e,n.a),t=new iEn(i),new $n(n,t)}function ub(n,e){var t=n.a[e],i=(cF(),dR)[typeof t];return i?i(t):tQ(typeof t)}function v0e(n){switch(n.g){case 0:return nt;case 1:return-1;default:return 0}}function m0e(n){return mJ(n,(I3(),pin))<0?-xce(z3(n)):n.l+n.m*J2+n.h*$a}function U8(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function K$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&J$(n,0),e}function KPn(n,e){for(;e[0]=0;)++e[0]}function W8(n,e){this.e=e,this.a=FOn(n),this.a<54?this.f=$d(n):this.c=m7(n)}function HPn(n,e,t,i){Je(),cd.call(this,26),this.c=n,this.a=e,this.d=t,this.b=i}function sh(n,e,t){var i,r;for(i=10,r=0;rn.a[i]&&(i=t);return i}function T0e(n,e){var t;return t=zd(n.e.c,e.e.c),t==0?Zt(n.e.d,e.e.d):t}function Fw(n,e){return e.e==0||n.e==0?W4:(a4(),Hx(n,e))}function M0e(n,e){if(!n)throw T(new Hn(P8e("Enum constant undefined: %s",e)))}function X5(){X5=N,MWn=new San,AWn=new Man,CWn=new $an,TWn=new Fan,SWn=new xan}function RC(){RC=N,Yin=new qG("BY_SIZE",0),jR=new qG("BY_SIZE_AND_SHAPE",1)}function _C(){_C=N,$R=new GG("EADES",0),tS=new GG("FRUCHTERMAN_REINGOLD",1)}function V8(){V8=N,$S=new XG("READING_DIRECTION",0),Ucn=new XG("ROTATION",1)}function GPn(){GPn=N,hXn=Fe((Pa(),A(M(zcn,1),z,335,0,[f_,Gcn,h_,Em,jm])))}function zPn(){zPn=N,KQn=Fe((b6(),A(M(Usn,1),z,315,0,[zsn,nK,eK,Lm,Nm])))}function UPn(){UPn=N,ZWn=Fe((Vw(),A(M(YWn,1),z,363,0,[SS,IS,OS,PS,AS])))}function WPn(){WPn=N,EXn=Fe((Ss(),A(M(jun,1),z,163,0,[Qk,Sm,xl,Pm,Ub])))}function XPn(){XPn=N,oZn=Fe((P7(),A(M(gfn,1),z,316,0,[dfn,xK,wfn,LK,bfn])))}function VPn(){VPn=N,OZn=Fe((Ho(),A(M($1,1),z,175,0,[Xn,pi,Yf,Ya,D1])))}function QPn(){QPn=N,tZn=Fe((g4(),A(M(eZn,1),z,355,0,[Ng,Ep,Qm,Vm,Jm])))}function JPn(){JPn=N,vWn=Fe((Qi(),A(M(Hrn,1),z,356,0,[Vf,$l,Hc,Cc,Ir])))}function YPn(){YPn=N,ene=Fe((sr(),A(M(e9,1),z,103,0,[mh,Ao,Zs,Jh,Yh])))}function ZPn(){ZPn=N,hne=Fe((qw(),A(M(c9,1),z,249,0,[Hl,Cy,Hhn,r9,qhn])))}function nIn(){nIn=N,dne=Fe((J(),A(M(Zi,1),hc,61,0,[Xr,Kn,Vn,ae,Gn])))}function H$(n,e){var t;return t=u(te(n.a,e),134),t||(t=new pI,it(n.a,e,t)),t}function eIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.a==n:!1}function tIn(n){var e;return e=u(k(n,(G(),p0)),305),e?e.i==n:!1}function iIn(n,e){return _n(e),mW(n),n.d.Ob()?(e.td(n.d.Pb()),!0):!1}function KC(n){return fc(n,nt)>0?nt:fc(n,Bi)<0?Bi:ge(n)}function sb(n){return n<3?(is(n,J_n),n+1):n=0&&e=-.01&&n.a<=bf&&(n.a=0),n.b>=-.01&&n.b<=bf&&(n.b=0),n}function cIn(n,e){return e==(sD(),sD(),Pzn)?n.toLocaleLowerCase():n.toLowerCase()}function nV(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(Ph(n),n.o)}function Er(n){var e,t;t=(e=new RI,e),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),t)}function A0e(n,e){var t;return t=e>0?e-1:e,e8n(Kie(IIn(YU(new zp,t),n.n),n.j),n.k)}function S0e(n,e,t,i){var r;n.j=-1,EY(n,iY(n,e,t),(er(),r=u(e,66).Mj(),r.Ok(i)))}function uIn(n){this.g=n,this.f=new X,this.a=j.Math.min(this.g.c.c,this.g.d.c)}function sIn(n){this.b=new X,this.a=new X,this.c=new X,this.d=new X,this.e=n}function oIn(n,e){this.a=new we,this.e=new we,this.b=(i6(),oP),this.c=n,this.b=e}function fIn(n,e,t){kE.call(this),eV(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function hIn(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(aj(),fR)}function Ld(n){if(n<0)throw T(new Hn("Illegal Capacity: "+n));this.g=this.ri(n)}function P0e(n,e){if(0>n||n>e)throw T(new bG("fromIndex: 0, toIndex: "+n+tnn+e))}function I0e(n){var e;if(n.a==n.b.a)throw T(new ic);return e=n.a,n.c=e,n.a=n.a.e,e}function HC(n){var e;z0(!!n.c),e=n.c.a,Ts(n.d,n.c),n.b==n.c?n.b=e:--n.a,n.c=null}function qC(n,e){var t;return Ta(n),t=new DTn(n,n.a.rd(),n.a.qd()|4,e),new $n(n,t)}function O0e(n,e){var t,i;return t=u(ab(n.d,e),14),t?(i=e,n.e.pc(i,t)):null}function GC(n,e){var t,i;for(i=n.Kc();i.Ob();)t=u(i.Pb(),70),H(t,(G(),pp),e)}function D0e(n){var e;return e=K(Y(k(n,(nn(),S1)))),e<0&&(e=0,H(n,S1,e)),e}function $0e(n,e,t){var i;i=j.Math.max(0,n.b/2-.5),g6(t,i,1),W(e,new L7n(t,i))}function F0e(n,e,t){var i;return i=n.a.e[u(e.a,10).p]-n.a.e[u(t.a,10).p],Gt(m8(i))}function lIn(n,e,t,i,r,c){var o;o=C$(i),Hi(o,r),Ei(o,c),Tn(n.a,i,new EE(o,e,t.f))}function aIn(n,e){var t;if(t=R7(n.Tg(),e),!t)throw T(new Hn(Pl+e+MB));return t}function ob(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function x0e(n,e){var t,i,r;for(i=e.a.cd(),t=u(e.a.dd(),14).gc(),r=0;r0&&(n.a/=e,n.b/=e),n}function ts(n){var e;return n.w?n.w:(e=Gle(n),e&&!e.kh()&&(n.w=e),e)}function q0e(n){var e;return n==null?null:(e=u(n,190),Gve(e,e.length))}function D(n,e){if(n.g==null||e>=n.i)throw T(new xO(e,n.i));return n.li(e,n.g[e])}function G0e(n){var e,t;for(e=n.a.d.j,t=n.c.d.j;e!=t;)ko(n.b,e),e=yT(e);ko(n.b,e)}function z0e(n){var e;for(e=0;e=14&&e<=16))),n}function gIn(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function pIn(n,e,t){var i,r;i=e;do r=K(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function O3(n,e){var t,i;i=n.a,t=Tge(n,e,null),i!=e&&!n.e&&(t=j4(n,e,t)),t&&t.Fi()}function tV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function iV(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function X0e(n,e){return yl(),Uc(n.b.c.length-n.e.c.length,e.b.c.length-e.e.c.length)}function xw(n,e){return Uie(J5(n,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function vIn(){vIn=N,$Wn=Fe((Qn(),A(M(zR,1),z,267,0,[ti,gi,Xt,Tc,Qu,vf])))}function mIn(){mIn=N,_Zn=Fe((vb(),A(M(UK,1),z,291,0,[zK,gy,wy,GK,dy,by])))}function kIn(){kIn=N,FZn=Fe((oh(),A(M(Rfn,1),z,248,0,[HK,ly,ay,xP,$P,FP])))}function yIn(){yIn=N,uXn=Fe((q2(),A(M(rv,1),z,227,0,[iv,ym,tv,qb,Cg,Eg])))}function jIn(){jIn=N,pXn=Fe((h4(),A(M(sun,1),z,275,0,[Cm,iun,uun,cun,run,tun])))}function EIn(){EIn=N,gXn=Fe((A7(),A(M(eun,1),z,274,0,[LS,Ycn,nun,Jcn,Zcn,p_])))}function CIn(){CIn=N,BQn=Fe((JT(),A(M(Hsn,1),z,313,0,[Q_,_sn,V_,Rsn,Ksn,sP])))}function TIn(){TIn=N,bXn=Fe((eM(),A(M(Xcn,1),z,276,0,[d_,a_,w_,b_,g_,FS])))}function MIn(){MIn=N,VJn=Fe((k6(),A(M(XJn,1),z,327,0,[pP,aK,bK,dK,wK,lK])))}function AIn(){AIn=N,ane=Fe((Tu(),A(M(qP,1),z,273,0,[Gl,n1,Ty,s9,u9,Pp])))}function SIn(){SIn=N,rne=Fe((ZT(),A(M(xhn,1),z,312,0,[uH,Dhn,Fhn,Ihn,$hn,Ohn])))}function V0e(){return jb(),A(M(lr,1),z,93,0,[So,Zh,Po,Oo,yh,eo,as,Io,no])}function UC(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,0,t,n.a))}function WC(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.b))}function D3(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.b))}function Bd(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,3,t,n.f))}function Rd(n,e){var t;t=n.g,n.g=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.g))}function Zc(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,5,t,n.i))}function nu(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,6,t,n.j))}function $3(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,1,t,n.j))}function F3(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,4,t,n.c))}function x3(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new rb(n,2,t,n.k))}function G$(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,2,t,n.d))}function d1(n,e){var t;t=n.s,n.s=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,4,t,n.s))}function hb(n,e){var t;t=n.t,n.t=e,n.Db&4&&!(n.Db&1)&&et(n,new p$(n,5,t,n.t))}function L3(n,e){var t;t=n.F,n.F=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,5,t,e))}function Q8(n,e){var t;return t=u(te(($j(),eI),n),55),t?t.xj(e):F(Zn,rn,1,e,5,1)}function Bh(n,e){var t,i;return t=e in n.a,t&&(i=Dh(n,e).he(),i)?i.a:null}function Q0e(n,e){var t,i,r;return t=(i=(ad(),r=new QH,r),e&&zY(i,e),i),aV(t,n),t}function PIn(n,e,t){if(W3(n,t),!n.Bk()&&t!=null&&!n.wj(t))throw T(new xI);return t}function IIn(n,e){return n.n=e,n.n?(n.f=new X,n.e=new X):(n.f=null,n.e=null),n}function Ae(n,e,t,i,r,c){var o;return o=LD(n,e),DIn(t,o),o.i=r?8:0,o.f=i,o.e=r,o.g=c,o}function rV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function cV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function uV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function sV(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function oV(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function OIn(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0),Q2e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function fV(n){return n.a<54?n.f<0?-1:n.f>0?1:0:(!n.c&&(n.c=h7(n.f)),n.c).e}function mo(n){if(!(n>=0))throw T(new Hn("tolerance ("+n+") must be >= 0"));return n}function N3(){return _K||(_K=new kBn,_w(_K,A(M(mg,1),rn,130,0,[new nq]))),_K}function ur(){ur=N,Bm=new kO(K6,0),Au=new kO("INPUT",1),xc=new kO("OUTPUT",2)}function VC(){VC=N,Hcn=new bO("ARD",0),DS=new bO("MSD",1),o_=new bO("MANUAL",2)}function _d(){_d=N,ry=new TO("BARYCENTER",0),_m=new TO(rHn,1),aP=new TO(cHn,2)}function J8(n,e){var t;if(t=n.gc(),e<0||e>t)throw T(new V0(e,t));return new AU(n,e)}function xIn(n,e){var t;return I(e,42)?n.c.Mc(e):(t=NF(n,e),IT(n,e),t)}function wr(n,e,t){return Ca(n,e),Ic(n,t),d1(n,0),hb(n,1),p1(n,!0),g1(n,!0),n}function is(n,e){if(n<0)throw T(new Hn(e+" cannot be negative but was: "+n));return n}function LIn(n,e){var t,i;for(t=0,i=n.gc();t0?u(un(t.a,i-1),10):null}function Q5(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.k))}function JC(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.f))}function YC(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,7,t,n.i))}function aV(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,8,t,n.a))}function dV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function bV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,0,t,n.b))}function wV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function gV(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.c))}function U$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,4,t,n.c))}function pV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,1,t,n.d))}function W$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,2,t,n.D))}function X$(n,e){n.r>0&&n.c0&&n.g!=0&&X$(n.i,e/n.r*n.i.d))}function cbe(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new T9n:new ZH,n.c=y7e(i,n.b,n.a)}function zIn(n,e){return zh(n.e,e)?(er(),R$(e)?new IE(e,n):new i8(e,n)):new Nkn(e,n)}function ZC(n,e){return zie(Y5(n.a,e,ge(Ni(ah,rh(ge(Ni(e==null?0:mt(e),dh)),15)))))}function ube(n,e,t){return cb(n,new Hvn(e),new mln,new qvn(t),A(M(Nu,1),z,132,0,[]))}function sbe(n){var e,t;return 0>n?new PG:(e=n+1,t=new wSn(e,n),new oU(null,t))}function obe(n,e){Pn();var t;return t=new s2(1),mi(n)?kr(t,n,e):_c(t.f,n,e),new DI(t)}function fbe(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:L6):e}function V$(n){switch(Rz(n.e!=3),n.e){case 2:return!1;case 0:return!0}return wde(n)}function WIn(n,e){var t;return I(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Q$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=ci(J0(n.n[t][c],ge(Ih(r,1))),3),i}function lbe(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),XT(n,t.cd(),t.dd())}function abe(n,e){var t;t=new Wy,u(e.b,65),u(e.b,65),u(e.b,65),Yc(e.a,new BU(n,t,e))}function vV(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,21,t,n.b))}function mV(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,11,t,n.d))}function nT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&et(n,new wi(n,1,13,t,n.j))}function XIn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i>>31;i!=0&&(n[t]=i)}function jbe(n,e){Pn();var t,i;for(i=new X,t=0;t0&&(this.g=this.ri(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Dt(n,e){ME.call(this,ree,n,e),this.b=this,this.a=Kc(n.Tg(),On(this.e.Tg(),this.c))}function Z5(n,e){var t,i;for(_n(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),n.zc(t.cd(),t.dd())}function Dbe(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!yC(n,e,i.Pb()))return!1;return!0}function $be(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.gh(e,-1-(c==-1?i:c),null,r)),r}function Fbe(n,e,t,i,r){var c;return t&&(c=yt(e.Tg(),n.c),r=t.ih(e,-1-(c==-1?i:c),null,r)),r}function dOn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function bOn(n){switch(n.g){case 2:return J(),Gn;case 4:return J(),Vn;default:return n}}function wOn(n){switch(n.g){case 1:return J(),ae;case 3:return J(),Kn;default:return n}}function xbe(n){var e,t,i;return n.j==(J(),Kn)&&(e=GLn(n),t=au(e,Vn),i=au(e,Gn),i||i&&t)}function Lbe(n){var e,t;return e=u(n.e&&n.e(),9),t=u(IW(e,e.length),9),new ks(e,t,e.length)}function Nbe(n,e){le(e,iHn,1),TQ(ire(new tj((Vv(),new GD(n,!1,!1,new BH))))),ce(e)}function Y8(n,e){return qn(),mi(n)?DX(n,Te(e)):G0(n)?TD(n,Y(e)):q0(n)?Kfe(n,sn(e)):n.wd(e)}function TV(n,e){e.q=n,n.d=j.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),W(n.a,e)}function R3(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.b1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw T(new ic)}function Vbe(n){gyn();var e;return M7n(hK,n)||(e=new Zwn,e.a=n,wU(hK,n,e)),u(br(hK,n),635)}function Ks(n){var e,t,i,r;return r=n,i=0,r<0&&(r+=$a,i=Wh),t=Gt(r/J2),e=Gt(r-t*J2),Bc(e,t,i)}function Z8(n){var e,t,i;for(i=0,t=new o2(n.a);t.a>22),r=n.h+e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function xOn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Bc(t&Lu,i&Lu,r&Wh)}function i7(n){var e;return n<128?(e=(QEn(),yin)[n],!e&&(e=yin[n]=new wq(n)),e):new wq(n)}function jt(n){var e;return I(n,78)?n:(e=n&&n.__java$exception,e||(e=new CDn(n),Kmn(e)),e)}function r7(n){if(I(n,186))return u(n,118);if(n)return null;throw T(new c2(Iqn))}function LOn(n,e){if(e==null)return!1;for(;n.a!=n.b;)if(tt(e,vT(n)))return!0;return!1}function OV(n){return n.a.Ob()?!0:n.a!=n.d?!1:(n.a=new lX(n.e.f),n.a.Ob())}function Yt(n,e){var t,i;return t=e.Pc(),i=t.length,i==0?!1:(GU(n.c,n.c.length,t),!0)}function hwe(n,e,t){var i,r;for(r=e.vc().Kc();r.Ob();)i=u(r.Pb(),42),n.yc(i.cd(),i.dd(),t);return n}function NOn(n,e){var t,i;for(i=new E(n.b);i.a=0,"Negative initial capacity"),TE(e>=0,"Non-positive load factor"),Eu(this)}function uF(n,e,t){return n>=128?!1:n<64?b5(ci(Ih(1,n),t),0):b5(ci(Ih(1,n-64),e),0)}function mwe(n,e){return!n||!e||n==e?!1:zd(n.b.c,e.b.c+e.b.b)<0&&zd(e.b.c,n.b.c+n.b.b)<0}function VOn(n){var e,t,i;return t=n.n,i=n.o,e=n.d,new ys(t.a-e.b,t.b-e.d,i.a+(e.b+e.c),i.b+(e.d+e.a))}function kwe(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;ii)throw T(new V0(e,i));return n.hi()&&(t=aMn(n,t)),n.Vh(e,t)}function s7(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function H(n,e,t){return t==null?(!n.q&&(n.q=new we),O2(n.q,e)):(!n.q&&(n.q=new we),it(n.q,e,t)),n}function QOn(n){var e,t;return t=new TC,Sr(t,n),H(t,(dl(),hp),n),e=new we,Cye(n,t,e),QEe(n,t,e),t}function Ewe(n){eg();var e,t,i;for(t=F(ai,q,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=r3e(i,n);return t}function JOn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c>=1);return e}function ZOn(n){var e,t;return t=x7(n.h),t==32?(e=x7(n.m),e==32?x7(n.l)+32:e+20-10):t-12}function t6(n){var e;return e=n.a[n.b],e==null?null:(Mt(n.a,n.b,null),n.b=n.b+1&n.a.length-1,e)}function nDn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function bT(n,e,t){var i,r;return i=new I$(e,t),r=new dI,n.b=zNn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function eDn(n,e,t){var i,r,c,o;for(o=c6(e,t),c=0,r=o.Kc();r.Ob();)i=u(r.Pb(),11),it(n.c,i,Q(c++))}function wl(n){var e,t;for(t=new E(n.a.b);t.at&&(t=n[e]);return t}function tDn(n,e,t){var i;return i=new X,XY(n,e,i,(J(),Vn),!0,!1),XY(n,t,i,Gn,!1,!1),i}function oF(n,e,t){var i,r,c,o;return c=null,o=e,r=Fd(o,"labels"),i=new jkn(n,t),c=(Hme(i.a,i.b,r),r),c}function Twe(n,e,t,i){var r;return r=xY(n,e,t,i),!r&&(r=Mge(n,t,i),r&&!rg(n,e,r))?null:r}function Mwe(n,e,t,i){var r;return r=LY(n,e,t,i),!r&&(r=TF(n,t,i),r&&!rg(n,e,r))?null:r}function iDn(n,e){var t;for(t=0;t1||e>=0&&n.b<3)}function o7(n){var e,t,i;for(e=new hu,i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),8),s3(e,0,new mr(t));return e}function ja(n){var e,t;for(t=new E(n.a.b);t.ai?1:0}function QV(n,e){return ANn(n,e)?(Tn(n.b,u(k(e,(G(),Gb)),21),e),Ke(n.a,e),!0):!1}function Bwe(n){var e,t;e=u(k(n,(G(),Mu)),10),e&&(t=e.c,Qc(t.a,e),t.a.c.length==0&&Qc(Gi(e).b,t))}function fDn(n){return pf?F($zn,lKn,572,0,0,1):u(lf(n.a,F($zn,lKn,572,n.a.c.length,0,1)),842)}function Rwe(n,e,t,i){return QE(),new GI(A(M(Ha,1),OM,42,0,[(ex(n,e),new bd(n,e)),(ex(t,i),new bd(t,i))]))}function Rw(n,e,t){var i,r;return r=(i=new RI,i),wr(r,e,t),me((!n.q&&(n.q=new V(co,n,11,10)),n.q),r),r}function aF(n){var e,t,i,r;for(r=lre($ne,n),t=r.length,i=F(tn,q,2,t,6,1),e=0;e=n.b.c.length||(JV(n,2*e+1),t=2*e+2,t=0&&n[i]===e[i];i--);return i<0?0:cO(ci(n[i],fr),ci(e[i],fr))?-1:1}function _we(n,e){var t,i;for(i=_e(n,0);i.b!=i.d.c;)t=u(Re(i),214),t.e.length>0&&(e.td(t),t.i&&Fge(t))}function bF(n,e){var t,i;return i=u(Rn(n.a,4),126),t=F(bH,qB,415,e,0,1),i!=null&&gc(i,0,t,0,i.length),t}function lDn(n,e){var t;return t=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function Kwe(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),14),t.Hc(e))return!0;return!1}function wF(n,e,t,i,r){var c,o;for(o=t;o<=r;o++)for(c=e;c<=i;c++)if(zw(n,c,o))return!0;return!1}function aDn(n,e,t){var i,r,c,o;for(_n(t),o=!1,c=n.Zc(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),o=!0;return o}function Hwe(n,e){var t;return n===e?!0:I(e,83)?(t=u(e,83),ZJ(Ed(n),t.vc())):!1}function dDn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),42),n.re(e,i.dd()))return!0;return!1}function bDn(n,e,t){return n.d[e.p][t.p]||(Bpe(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function W3(n,e){if(!n.ai()&&e==null)throw T(new Hn("The 'no null' constraint is violated"));return e}function X3(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),W$(n,e==null?null:(_n(e),e)),n.C&&n.yk(null)}function qwe(n,e){var t;return!n||n==e||!li(e,(G(),m0))?!1:(t=u(k(e,(G(),m0)),10),t!=n)}function gF(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.pl()}}function wDn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.ql()}}function gDn(n){cMn.call(this,"The given string does not match the expected format for individual spacings.",n)}function Xu(){Xu=N,ws=new Jj("ELK",0),Yhn=new Jj("JSON",1),Jhn=new Jj("DOT",2),Zhn=new Jj("SVG",3)}function f7(){f7=N,CP=new AO(Xh,0),Don=new AO("RADIAL_COMPACTION",1),$on=new AO("WEDGE_COMPACTION",2)}function hf(){hf=N,Win=new uO("CONCURRENT",0),hs=new uO("IDENTITY_FINISH",1),Rb=new uO("UNORDERED",2)}function pF(){pF=N,jrn=(Aj(),SR),yrn=new In(pnn,jrn),OUn=new kt(vnn),DUn=new kt(mnn),$Un=new kt(knn)}function V3(){V3=N,xcn=new j0n,Lcn=new E0n,zWn=new C0n,GWn=new T0n,qWn=new M0n,Fcn=(_n(qWn),new uln)}function Q3(){Q3=N,sK=new jO("CONSERVATIVE",0),con=new jO("CONSERVATIVE_SOFT",1),Rm=new jO("SLOPPY",2)}function wT(){wT=N,_hn=new vd(15),cne=new tr((Xe(),nd),_hn),t9=Mp,Lhn=HZn,Nhn=Za,Rhn=Kg,Bhn=BP}function vF(n,e,t){var i,r,c;for(i=new Ct,c=_e(t,0);c.b!=c.d.c;)r=u(Re(c),8),Ke(i,new mr(r));aDn(n,e,i)}function Gwe(n){var e,t,i;for(e=0,i=F(ai,q,8,n.b,0,1),t=_e(n,0);t.b!=t.d.c;)i[e++]=u(Re(t),8);return i}function ZV(n){var e;return e=(!n.a&&(n.a=new V(e1,n,9,5)),n.a),e.i!=0?ore(u(D(e,0),678)):null}function zwe(n,e){var t;return t=qi(n,e),cO(h$(n,e),0)|Cre(h$(n,t),0)?t:qi(IM,h$(J0(t,63),1))}function Uwe(n,e){var t;t=cn((xF(),uP))!=null&&e.wg()!=null?K(Y(e.wg()))/K(Y(cn(uP))):1,it(n.b,e,t)}function Wwe(n,e){var t,i;return t=u(n.d.Bc(e),14),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function nQ(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;t0)return a3(e-1,n.a.c.length),h1(n.a,e-1);throw T(new qmn)}function Xwe(n,e,t){if(e<0)throw T(new vr(_Hn+e));ee)throw T(new Hn(xM+n+aKn+e));if(n<0||e>t)throw T(new bG(xM+n+rnn+e+tnn+t))}function mDn(n){if(!n.a||!(n.a.i&8))throw T(new Dr("Enumeration class expected for layout option "+n.f))}function lb(n){var e;++n.j,n.i==0?n.g=null:n.ihA?n-t>hA:t-n>hA}function kF(n,e){return!n||e&&!n.j||I(n,124)&&u(n,124).a.b==0?0:n.Re()}function pT(n,e){return!n||e&&!n.k||I(n,124)&&u(n,124).a.a==0?0:n.Se()}function h7(n){return jl(),n<0?n!=-1?new VQ(-1,-n):gR:n<=10?xin[Gt(n)]:new VQ(1,n)}function tQ(n){throw cF(),T(new L9n("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function CDn(n){H9n(),oE(this),eC(this),this.e=n,NNn(this,n),this.g=n==null?iu:Lr(n),this.a="",this.b=n,this.a=""}function iQ(){this.a=new qgn,this.f=new O6n(this),this.b=new D6n(this),this.i=new $6n(this),this.e=new F6n(this)}function TDn(){iie.call(this,new _X(sb(16))),is(2,W_n),this.b=2,this.a=new RW(null,null,0,null),$9(this.a,this.a)}function i6(){i6=N,J_=new vO("DUMMY_NODE_OVER",0),qsn=new vO("DUMMY_NODE_UNDER",1),oP=new vO("EQUAL",2)}function yF(){yF=N,_R=sMn(A(M(e9,1),z,103,0,[(sr(),Zs),Ao])),KR=sMn(A(M(e9,1),z,103,0,[Yh,Jh]))}function jF(n){return(J(),cu).Hc(n.j)?K(Y(k(n,(G(),hv)))):Gr(A(M(ai,1),q,8,0,[n.i.n,n.n,n.a])).b}function Zwe(n){var e,t,i,r;for(i=n.b.a,t=i.a.ec().Kc();t.Ob();)e=u(t.Pb(),561),r=new pNn(e,n.e,n.f),W(n.g,r)}function Ca(n,e){var t,i,r;i=n.nk(e,null),r=null,e&&(r=(Qp(),t=new ud,t),O3(r,n.r)),i=af(n,r,i),i&&i.Fi()}function nge(n,e){var t,i;for(i=Fu(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.Tf(e.e,i),t=t|_7(n,e,i,!1),i=!i;yV(n)}function rQ(n,e){var t,i,r;return i=!1,t=e.q.d,e.dr&&(JFn(e.q,r),i=t!=e.q.d)),i}function MDn(n,e){var t,i,r,c,o,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,o=h-r,f=l-c,t=j.Math.sqrt(o*o+f*f),t}function cQ(n,e){var t,i;return i=OT(n),i||(t=(bL(),Yxn(e)),i=new Fmn(t),me(i.Vk(),n)),i}function l7(n,e){var t,i;return t=u(n.c.Bc(e),14),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function ADn(n,e){var t;for(t=0;t=n.c.b:n.a<=n.c.b))throw T(new ic);return e=n.a,n.a+=n.c.c,++n.b,Q(e)}function ige(n){var e;return e=new uIn(n),O8(n.a,SWn,new Ku(A(M(Rk,1),rn,369,0,[e]))),e.d&&W(e.f,e.d),e.f}function EF(n){var e;return e=new Mz(n.a),Sr(e,n),H(e,(G(),rt),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function rge(n,e,t,i){var r,c;for(c=n.Kc();c.Ob();)r=u(c.Pb(),70),r.n.a=e.a+(i.a-r.o.a)/2,r.n.b=e.b,e.b+=r.o.b+t}function cge(n,e,t){var i,r;for(r=e.a.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),57),_Tn(n,i,t))return!0;return!1}function uge(n){var e,t;for(t=new E(n.r);t.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function hge(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function FDn(n){var e,t;if(n!=null)for(t=0;t0&&(t=u(un(n.a,n.a.c.length-1),570),QV(t,e))||W(n.a,new dSn(e))}function wge(n){wo();var e,t;e=n.d.c-n.e.c,t=u(n.g,145),Yc(t.b,new _5n(e)),Yc(t.c,new K5n(e)),$i(t.i,new H5n(e))}function BDn(n){var e;return e=new V1,e.a+="VerticalSegment ",rc(e,n.e),e.a+=" ",De(e,Lz(new YI,new E(n.k))),e.a}function gge(n){var e;return e=u(xd(n.c.c,""),229),e||(e=new M2(Vp(Xp(new Zg,""),"Other")),Aa(n.c.c,"",e)),e}function r6(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (name: ",dr(e,n.zb),e.a+=")",e.a)}function hQ(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,4,r,e),t?t.Ei(i):t=i),t}function CF(n,e){var t,i,r;for(t=0,r=zr(n,e).Kc();r.Ob();)i=u(r.Pb(),11),t+=k(i,(G(),Mu))!=null?1:0;return t}function Kw(n,e,t){var i,r,c;for(i=0,c=_e(n,0);c.b!=c.d.c&&(r=K(Y(Re(c))),!(r>t));)r>=e&&++i;return i}function pge(n,e,t){var i,r;return i=new Lh(n.e,3,13,null,(r=e.c,r||(Sn(),Cf)),v1(n,e),!1),t?t.Ei(i):t=i,t}function vge(n,e,t){var i,r;return i=new Lh(n.e,4,13,(r=e.c,r||(Sn(),Cf)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function lQ(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,8,r,n.r),t?t.Ei(i):t=i),t}function w1(n,e){var t,i;return t=u(e,676),i=t.vk(),!i&&t.wk(i=I(e,88)?new Fkn(n,u(e,26)):new eAn(n,u(e,148))),i}function a7(n,e,t){var i;n.qi(n.i+1),i=n.oi(e,t),e!=n.i&&gc(n.g,e,n.g,e+1,n.i-e),Mt(n.g,e,i),++n.i,n.bi(e,t),n.ci()}function mge(n,e){var t;return e.a&&(t=e.a.a.length,n.a?De(n.a,n.b):n.a=new Ju(n.d),iAn(n.a,e.a,e.d.length,t)),n}function kge(n,e){var t,i,r,c;if(e.vi(n.a),c=u(Rn(n.a,8),1936),c!=null)for(t=c,i=0,r=t.length;it)throw T(new vr(xM+n+rnn+e+", size: "+t));if(n>e)throw T(new Hn(xM+n+aKn+e))}function As(n,e,t){if(e<0)bY(n,t);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Vj(n,n.yh(),e)}}function Ege(n,e,t,i,r,c,o,f){var h;for(h=t;c=i||e=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function zDn(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (source: ",dr(e,n.d),e.a+=")",e.a)}function Tge(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new wi(n,1,5,r,n.a),t?FJ(t,i):t=i),t}function g1(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,2,t,e))}function dQ(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function kT(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,8,t,e))}function p1(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,3,t,e))}function bQ(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,9,t,e))}function u6(n,e){var t;return n.b==-1&&n.a&&(t=n.a.Gj(),n.b=t?n.c.Xg(n.a.aj(),t):yt(n.c.Tg(),n.a)),n.c.Og(n.b,e)}function Q(n){var e,t;return n>-129&&n<128?(e=n+128,t=(qEn(),jin)[e],!t&&(t=jin[e]=new gq(n)),t):new gq(n)}function J3(n){var e,t;return n>-129&&n<128?(e=n+128,t=(VEn(),Min)[e],!t&&(t=Min[e]=new vq(n)),t):new vq(n)}function wQ(n){var e,t;return e=n.k,e==(Qn(),Xt)?(t=u(k(n,(G(),ec)),61),t==(J(),Kn)||t==ae):!1}function Mge(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?xY(n,i,e,t):null}function TF(n,e,t){var i,r,c;return c=(r=b4(n.b,e),r),c&&(i=u(jM(G8(n,c),""),26),i)?LY(n,i,e,t):null}function UDn(n,e){var t,i;for(i=new ie(n);i.e!=i.i.gc();)if(t=u(oe(i),138),B(e)===B(t))return!0;return!1}function s6(n,e,t){var i;if(i=n.gc(),e>i)throw T(new V0(e,i));if(n.hi()&&n.Hc(t))throw T(new Hn(yk));n.Xh(e,t)}function Age(n,e){var t;if(t=xw(n.i,e),t==null)throw T(new Af("Node did not exist in input."));return MV(e,t),null}function Sge(n,e){var t;if(t=R7(n,e),I(t,322))return u(t,34);throw T(new Hn(Pl+e+"' is not a valid attribute"))}function Pge(n,e,t){var i,r;for(r=I(e,99)&&u(e,18).Bb&Yi?new LO(e,n):new H3(e,n),i=0;ie?1:n==e?n==0?Zt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function Bge(n,e){le(e,"Sort end labels",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new bdn),new wdn),new gdn),ce(e)}function o6(n,e,t){var i,r;return n.ej()?(r=n.fj(),i=Dx(n,e,t),n.$i(n.Zi(7,Q(t),i,e,r)),i):Dx(n,e,t)}function MF(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.cd(),t=e.Sh(),i=(t&nt)%n.d.length,yde(n,i,hNn(n,i,t,r)))}function Y3(n,e){var t;t=(n.Bb&Eo)!=0,e?n.Bb|=Eo:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,10,t,e))}function Z3(n,e){var t;t=(n.Bb&Ib)!=0,e?n.Bb|=Ib:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,12,t,e))}function n4(n,e){var t;t=(n.Bb&mu)!=0,e?n.Bb|=mu:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,15,t,e))}function e4(n,e){var t;t=(n.Bb&Bb)!=0,e?n.Bb|=Bb:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&et(n,new vo(n,1,11,t,e))}function Rge(n,e){var t;return t=Zt(n.b.c,e.b.c),t!=0||(t=Zt(n.a.a,e.a.a),t!=0)?t:Zt(n.a.b,e.a.b)}function _ge(n,e){var t;if(t=te(n.k,e),t==null)throw T(new Af("Port did not exist in input."));return MV(e,t),null}function Kge(n){var e,t;for(t=wNn(ts(n)).Kc();t.Ob();)if(e=Te(t.Pb()),A6(n,e))return Vae((C7n(),zne),e);return null}function Hge(n,e){var t,i,r,c,o;for(o=Kc(n.e.Tg(),e),c=0,t=u(n.g,119),r=0;r>10)+rk&Ut,e[1]=(n&1023)+56320&Ut,Hs(e,0,e.length)}function jT(n){var e,t;return t=u(k(n,(nn(),ls)),103),t==(sr(),mh)?(e=K(Y(k(n,zS))),e>=1?Ao:Jh):t}function zge(n){switch(u(k(n,(nn(),Qh)),218).g){case 1:return new ewn;case 3:return new uwn;default:return new nwn}}function Ta(n){if(n.c)Ta(n.c);else if(n.d)throw T(new Dr("Stream already terminated, can't be modified or used"))}function PF(n){var e;return n.Db&64?yo(n):(e=new Bs(yo(n)),e.a+=" (identifier: ",dr(e,n.k),e.a+=")",e.a)}function QDn(n,e,t){var i,r;return i=(ad(),r=new Xy,r),UC(i,e),WC(i,t),n&&me((!n.a&&(n.a=new Jt(io,n,5)),n.a),i),i}function IF(n,e,t,i){var r,c;return _n(i),_n(t),r=n.xc(e),c=r==null?t:l7n(u(r,15),u(t,14)),c==null?n.Bc(e):n.zc(e,c),c}function Cn(n){var e,t,i,r;return t=(e=u(xo((i=n.gm,r=i.f,r==Ie?i:r)),9),new ks(e,u(bo(e,e.length),9),0)),ko(t,n),t}function Uge(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),t7(t,u(un(e,i.p),14)))return i;return null}function Wge(n,e,t){var i;try{Awe(n,e,t)}catch(r){throw r=jt(r),I(r,597)?(i=r,T(new EX(i))):T(r)}return e}function vl(n,e){var t;return $r(n)&&$r(e)&&(t=n-e,ik>1,n.k=t-1>>1}function OF(){_J();var n,e,t;t=qTe+++Date.now(),n=Gt(j.Math.floor(t*uk))&FM,e=Gt(t-n*enn),this.a=n^1502,this.b=e^tN}function Kh(n){var e,t,i;for(e=new X,i=new E(n.j);i.a34028234663852886e22?$t:e<-34028234663852886e22?Vt:e}function JDn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function YDn(n){var e,t,i,r;for(e=new Djn(n.Hd().gc()),r=0,i=$2(n.Hd().Kc());i.Ob();)t=i.Pb(),ole(e,t,Q(r++));return $5e(e.a)}function Zge(n,e){var t,i,r;for(r=new we,i=e.vc().Kc();i.Ob();)t=u(i.Pb(),42),it(r,t.cd(),Gbe(n,u(t.dd(),15)));return r}function yQ(n,e){n.n.c.length==0&&W(n.n,new lC(n.s,n.t,n.i)),W(n.b,e),iJ(u(un(n.n,n.n.c.length-1),211),e),oRn(n,e)}function Hw(n){return(n.c!=n.b.b||n.i!=n.g.b)&&(n.a.c=F(Zn,rn,1,0,5,1),Yt(n.a,n.b),Yt(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function DF(n,e){var t,i,r;for(r=0,i=u(e.Kb(n),20).Kc();i.Ob();)t=u(i.Pb(),17),on(sn(k(t,(G(),mf))))||++r;return r}function n2e(n,e){var t,i,r;i=$w(e),r=K(Y(bb(i,(nn(),Mo)))),t=j.Math.max(0,r/2-.5),g6(e,t,1),W(n,new G7n(e,t))}function Ss(){Ss=N,Qk=new Q9(Xh,0),Sm=new Q9("FIRST",1),xl=new Q9(uHn,2),Pm=new Q9("LAST",3),Ub=new Q9(sHn,4)}function Hh(){Hh=N,rH=new Wj(K6,0),yy=new Wj("POLYLINE",1),Cv=new Wj("ORTHOGONAL",2),Sp=new Wj("SPLINES",3)}function ET(){ET=N,Jon=new PO("ASPECT_RATIO_DRIVEN",0),IK=new PO("MAX_SCALE_DRIVEN",1),Qon=new PO("AREA_DRIVEN",2)}function w7(){w7=N,AP=new IO("P1_STRUCTURE",0),SP=new IO("P2_PROCESSING_ORDER",1),PP=new IO("P3_EXECUTION",2)}function CT(){CT=N,CK=new MO("OVERLAP_REMOVAL",0),jK=new MO("COMPACTION",1),EK=new MO("GRAPH_SIZE_CALCULATION",2)}function zd(n,e){return Yo(),mo(Cl),j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e))}function ZDn(n,e){var t,i;for(t=_e(n,0);t.b!=t.d.c;){if(i=x9(Y(Re(t))),i==e)return;if(i>e){a$(t);break}}y8(t,e)}function En(n,e){var t,i,r,c,o;if(t=e.f,Aa(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,o=r.length;ce&&i.ue(n[c-1],n[c])>0;--c)o=n[c],Mt(n,c,n[c-1]),Mt(n,c-1,o)}function Ps(n,e,t,i){if(e<0)_Y(n,t,i);else{if(!t.Ij())throw T(new Hn(Pl+t.ne()+em));u(t,66).Nj().Tj(n,n.yh(),e,i)}}function TT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw T(new Hn("Node "+e+" not part of edge "+n))}function t2e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function n$n(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function jQ(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return aQ(n,e,t,i)}function i2e(n){return n.k!=(Qn(),ti)?!1:C3(new $n(null,new Cd(new re(ue(ni(n).a.Kc(),new Mn)))),new Hbn)}function r2e(n){return n.e==null?n:(!n.c&&(n.c=new zx((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,null)),n.c)}function c2e(n,e){return n.h==tk&&n.m==0&&n.l==0?(e&&(Il=Bc(0,0,0)),eyn((I3(),gin))):(e&&(Il=Bc(n.l,n.m,n.h)),Bc(0,0,0))}function Lr(n){var e;return Array.isArray(n)&&n.im===Xg?J1(Du(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function f6(n){var e;this.a=(e=u(n.e&&n.e(),9),new ks(e,u(bo(e,e.length),9),0)),this.b=F(Zn,rn,1,this.a.a.length,5,1)}function u2e(n){var e,t,i;for(this.a=new Sh,i=new E(n);i.a0&&(Me(e-1,n.length),n.charCodeAt(e-1)==58)&&!$F(n,a9,d9))}function $F(n,e,t){var i,r;for(i=0,r=n.length;i=r)return e.c+t;return e.c+e.b.gc()}function l2e(n,e){o3();var t,i,r,c;for(i=bPn(n),r=e,S3(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function CQ(n){var e,t,i;for(i=new i1,i.a+="[",e=0,t=n.gc();e0&&this.b>0&&cW(this.c,this.b,this.a)}function AQ(n){xF(),this.c=cf(A(M(sMe,1),rn,831,0,[LQn])),this.b=new we,this.a=n,it(this.b,uP,1),Yc(NQn,new q6n(this))}function e$n(n,e){var t;return n.d?zu(n.b,e)?u(te(n.b,e),51):(t=e.Kf(),it(n.b,e,t),t):e.Kf()}function SQ(n,e){var t;return B(n)===B(e)?!0:I(e,91)?(t=u(e,91),n.e==t.e&&n.d==t.d&&Jae(n,t.a)):!1}function B2(n){switch(J(),n.g){case 4:return Kn;case 1:return Vn;case 3:return ae;case 2:return Gn;default:return Xr}}function PQ(n,e){switch(e){case 3:return n.f!=0;case 4:return n.g!=0;case 5:return n.i!=0;case 6:return n.j!=0}return SV(n,e)}function p2e(n){switch(n.g){case 0:return new Lgn;case 1:return new Ngn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function t$n(n){switch(n.g){case 0:return new xgn;case 1:return new Bgn;default:throw T(new Hn(AN+(n.f!=null?n.f:""+n.g)))}}function i$n(n){switch(n.g){case 0:return new sG;case 1:return new b9n;default:throw T(new Hn(bA+(n.f!=null?n.f:""+n.g)))}}function v2e(n){switch(n.g){case 1:return new Pgn;case 2:return new kjn;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function m2e(n){var e,t;if(n.b)return n.b;for(t=pf?null:n.d;t;){if(e=pf?null:t.b,e)return e;t=pf?null:t.d}return e3(),Uin}function k2e(n){var e,t,i;return n.e==0?0:(e=n.d<<5,t=n.a[n.d-1],n.e<0&&(i=dOn(n),i==n.d-1&&(--t,t=t|0)),e-=x7(t),e)}function y2e(n){var e,t,i;return n>5,e=n&31,i=F(be,Le,25,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function E2e(n){return yF(),qn(),!!(n$n(u(n.a,81).j,u(n.b,103))||u(n.a,81).d.e!=0&&n$n(u(n.a,81).j,u(n.b,103)))}function C2e(n){DC(),u(n.We((Xe(),_l)),174).Hc((xu(),UP))&&(u(n.We(rw),174).Fc((Tu(),Pp)),u(n.We(_l),174).Mc(UP))}function c$n(n,e){var t,i;if(e){for(t=0;t=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function I2e(n,e){le(e,"End label post-processing",1),Rt(gt(qr(new $n(null,new xn(n.b,16)),new udn),new sdn),new odn),ce(e)}function O2e(n,e,t){var i,r;return i=K(n.p[e.i.p])+K(n.d[e.i.p])+e.n.b+e.a.b,r=K(n.p[t.i.p])+K(n.d[t.i.p])+t.n.b+t.a.b,r-i}function D2e(n,e,t){var i,r;for(i=ci(t,fr),r=0;fc(i,0)!=0&&r0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function F2e(n){var e;return n==null?null:new il((e=jc(n,!0),e.length>0&&(Me(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function LQ(n,e){var t;return n.i>0&&(e.lengthn.i&&Mt(e,n.i,null),e}function Oc(n,e,t){var i,r,c;return n.ej()?(i=n.i,c=n.fj(),a7(n,i,e),r=n.Zi(3,null,e,i,c),t?t.Ei(r):t=r):a7(n,n.i,e),t}function x2e(n,e,t){var i,r;return i=new Lh(n.e,4,10,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),null,v1(n,e),!1),t?t.Ei(i):t=i,t}function L2e(n,e,t){var i,r;return i=new Lh(n.e,3,10,null,(r=e.c,I(r,88)?u(r,26):(Sn(),so)),v1(n,e),!1),t?t.Ei(i):t=i,t}function o$n(n){W0();var e;return e=new mr(u(n.e.We((Xe(),Kg)),8)),n.B.Hc((xu(),Mv))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function f$n(n){wb();var e;return(n.q?n.q:(Pn(),Pn(),ph))._b((nn(),j0))?e=u(k(n,j0),197):e=u(k(Gi(n),$m),197),e}function bb(n,e){var t,i;return i=null,li(n,(nn(),rP))&&(t=u(k(n,rP),94),t.Xe(e)&&(i=t.We(e))),i==null&&(i=k(Gi(n),e)),i}function h$n(n,e){var t,i,r;return I(e,42)?(t=u(e,42),i=t.cd(),r=ab(n.Rc(),i),$f(r,t.dd())&&(r!=null||n.Rc()._b(i))):!1}function NF(n,e){var t,i,r;return n.f>0?(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=hNn(n,r,i,e),t!=-1):!1}function Ko(n,e){var t,i,r;return n.f>0&&(n.qj(),i=e==null?0:mt(e),r=(i&nt)%n.d.length,t=kY(n,r,i,e),t)?t.dd():null}function g7(n,e){var t,i,r,c;for(c=Kc(n.e.Tg(),e),t=u(n.g,119),r=0;r1?rf(Ih(e.a[1],32),ci(e.a[0],fr)):ci(e.a[0],fr),$d(Ni(e.e,t))))}function p7(n,e){var t;return $r(n)&&$r(e)&&(t=n%e,ik>5,e&=31,r=n.d+t+(e==0?0:1),i=F(be,Le,25,r,15,1),Nve(i,n.a,t,e),c=new Pw(n.e,r,i),K5(c),c}function BQ(n,e,t){var i,r;i=u(vc(Pv,e),117),r=u(vc(m9,e),117),t?(kr(Pv,n,i),kr(m9,n,r)):(kr(m9,n,i),kr(Pv,n,r))}function p$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i>=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function v$n(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function K2e(n,e,t,i){var r,c,o;return r=!1,jEe(n.f,t,i)&&(ape(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],o=c[i],c[i]=c[t],c[t]=o,r=!0),r}function RQ(n,e,t,i,r){var c,o,f;for(o=r;e.b!=e.c;)c=u(y2(e),10),f=u(zr(c,i).Xb(0),11),n.d[f.p]=o++,t.c[t.c.length]=f;return o}function _Q(n,e,t){var i,r,c,o,f;return o=n.k,f=e.k,i=t[o.g][f.g],r=Y(bb(n,i)),c=Y(bb(e,i)),j.Math.max((_n(r),r),(_n(c),c))}function H2e(n,e,t){var i,r,c,o;for(i=t/n.c.length,r=0,o=new E(n);o.a2e3&&(wzn=n,KA=j.setTimeout(Vie,10))),_A++==0?(E0e((aG(),din)),!0):!1}function G2e(n,e){var t,i,r;for(i=new re(ue(ni(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),r=t.d.i,r.c==e)return!1;return!0}function KQ(n,e){var t,i;if(I(e,245)){i=u(e,245);try{return t=n.vd(i),t==0}catch(r){if(r=jt(r),!I(r,205))throw T(r)}}return!1}function z2e(){return Error.stackTraceLimit>0?(j.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function U2e(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))>0}function HQ(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<0}function y$n(n,e){return Yo(),Yo(),mo(Cl),(j.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)?0:ne?1:pd(isNaN(n),isNaN(e)))<=0}function RF(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];tJL)return t.fh();if(i=t.Zg(),i||t==n)break}return i}function qQ(n){return dC(),I(n,156)?u(te($y,Azn),288).vg(n):zu($y,Du(n))?u(te($y,Du(n)),288).vg(n):null}function X2e(n){if(DT(B4,n))return qn(),z4;if(DT(EB,n))return qn(),qa;throw T(new Hn("Expecting true or false"))}function V2e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw T(new Hn("Input edge is not connected to the input port."))}function A$n(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+j.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function P$n(n,e){var t;return B(e)===B(n)?!0:!I(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function Q2e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,cjn(t=c?(Vwe(n,e),-1):(Qwe(n,e),1)}function J2e(n,e){var t,i;for(t=(Me(e,n.length),n.charCodeAt(e)),i=e+1;ie.e?1:n.fe.f?1:mt(n)-mt(e)}function DT(n,e){return _n(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function upe(n,e){var t,i,r,c;for(i=0,r=e.gc();i0&&fc(n,128)<0?(e=ge(n)+128,t=(XEn(),Ein)[e],!t&&(t=Ein[e]=new pq(n)),t):new pq(n)}function O$n(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function spe(n,e){var t,i;return t=e.Hh(n.a),t&&(i=Te(Ko((!t.b&&(t.b=new qu((Sn(),nr),tc,t)),t.b),We)),i!=null)?i:e.ne()}function ope(n,e){c$();var t,i;for(i=new re(ue(Kh(n).a.Kc(),new Mn));Se(i);)if(t=u(ve(i),17),t.d.i==e||t.c.i==e)return t;return null}function UQ(n,e,t){this.c=n,this.f=new X,this.e=new Li,this.j=new eW,this.n=new eW,this.b=e,this.g=new ys(e.c,e.d,e.b,e.a),this.a=t}function _F(n){var e,t,i,r;for(this.a=new Sh,this.d=new fi,this.e=0,t=n,i=0,r=t.length;i0):!1}function F$n(n){var e;B(hn(n,(Xe(),Bg)))===B((_h(),HP))&&(At(n)?(e=u(hn(At(n),Bg),334),gr(n,Bg,e)):gr(n,Bg,i9))}function ape(n,e,t){var i,r;yx(n.e,e,t,(J(),Gn)),yx(n.i,e,t,Vn),n.a&&(r=u(k(e,(G(),rt)),11),i=u(k(t,rt),11),l$(n.g,r,i))}function x$n(n,e,t){var i,r,c;i=e.c.p,c=e.p,n.b[i][c]=new YTn(n,e),t&&(n.a[i][c]=new c6n(e),r=u(k(e,(G(),m0)),10),r&&Tn(n.d,r,e))}function L$n(n,e){var t,i,r;if(W(eS,n),e.Fc(n),t=u(te(DR,n),21),t)for(r=t.Kc();r.Ob();)i=u(r.Pb(),33),Fr(eS,i,0)!=-1||L$n(i,e)}function dpe(n,e,t){var i;(Fzn?(m2e(n),!0):xzn||Nzn?(e3(),!0):Lzn&&(e3(),!1))&&(i=new hEn(e),i.b=t,g5e(n,i))}function KF(n,e){var t;t=!n.A.Hc((Vu(),id))||n.q==(Ti(),Ac),n.u.Hc((Tu(),n1))?t?xCe(n,e):a_n(n,e):n.u.Hc(Gl)&&(t?nCe(n,e):M_n(n,e))}function r4(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,I(i,97)?u(i,97).Jg():null),ome(e,t))){R2(n.a,4,t);return}R2(n.a,4,u(e,126))}function N$n(n,e,t){return new ys(j.Math.min(n.a,e.a)-t/2,j.Math.min(n.b,e.b)-t/2,j.Math.abs(n.a-e.a)+t,j.Math.abs(n.b-e.b)+t)}function bpe(n,e){var t,i;return t=Uc(n.a.c.p,e.a.c.p),t!=0?t:(i=Uc(n.a.d.i.p,e.a.d.i.p),i!=0?i:Uc(e.a.d.p,n.a.d.p))}function wpe(n,e,t){var i,r,c,o;return c=e.j,o=t.j,c!=o?c.g-o.g:(i=n.f[e.p],r=n.f[t.p],i==0&&r==0?0:i==0?-1:r==0?1:Zt(i,r))}function B$n(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new E(Hw(e));r.a=r)return r;for(e=e>0?e:0;ei&&Mt(e,i,null),e}function _$n(n,e){var t,i;for(i=n.a.length,e.lengthi&&Mt(e,i,null),e}function Aa(n,e,t){var i,r,c;return r=u(te(n.e,e),387),r?(c=gU(r,t),Oyn(n,r),c):(i=new qU(n,e,t),it(n.e,e,i),iMn(i),null)}function vpe(n){var e;if(n==null)return null;if(e=a9e(jc(n,!0)),e==null)throw T(new VI("Invalid hexBinary value: '"+n+"'"));return e}function m7(n){return jl(),fc(n,0)<0?fc(n,-1)!=0?new OJ(-1,P3(n)):gR:fc(n,10)<=0?xin[ge(n)]:new OJ(1,n)}function qF(){return SM(),A(M(yUn,1),z,159,0,[mUn,vUn,kUn,hUn,fUn,lUn,bUn,dUn,aUn,pUn,gUn,wUn,sUn,uUn,oUn,rUn,iUn,cUn,eUn,nUn,tUn,TR])}function K$n(n){var e;this.d=new X,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(k(Gi(e),(nn(),ls)),103),this.e=K(Y(xT(e,nw)))}function H$n(n){this.b=new X,this.e=new X,this.d=n,this.a=!Wv(gt(new $n(null,new Cd(new uf(n.b))),new Fv(new qbn))).sd((ca(),V4))}function Ho(){Ho=N,Xn=new Z9("PARENTS",0),pi=new Z9("NODES",1),Yf=new Z9("EDGES",2),Ya=new Z9("PORTS",3),D1=new Z9("LABELS",4)}function qw(){qw=N,Hl=new e8("DISTRIBUTED",0),Cy=new e8("JUSTIFIED",1),Hhn=new e8("BEGIN",2),r9=new e8(I4,3),qhn=new e8("END",4)}function mpe(n){var e;switch(e=n.yi(null),e){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function GF(n){switch(n.g){case 1:return sr(),Yh;case 4:return sr(),Zs;case 2:return sr(),Ao;case 3:return sr(),Jh}return sr(),mh}function kpe(n,e,t){var i;switch(i=t.q.getFullYear()-Tl+Tl,i<0&&(i=-i),e){case 1:n.a+=i;break;case 2:sh(n,i%100,2);break;default:sh(n,i,e)}}function _e(n,e){var t,i;if(tb(e,n.b),e>=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=64&&e<128&&(r=rf(r,Ih(1,e-64)));return r}function xT(n,e){var t,i;return i=null,li(n,(Xe(),Ap))&&(t=u(k(n,Ap),94),t.Xe(e)&&(i=t.We(e))),i==null&&Gi(n)&&(i=k(Gi(n),e)),i}function z$n(n,e){var t,i,r;r=e.d.i,i=r.k,!(i==(Qn(),ti)||i==vf)&&(t=new re(ue(ni(r).a.Kc(),new Mn)),Se(t)&&it(n.k,e,u(ve(t),17)))}function zF(n,e){var t,i,r;return i=On(n.Tg(),e),t=e-n.Ah(),t<0?(r=n.Yg(i),r>=0?n.lh(r):Ox(n,i)):t<0?Ox(n,i):u(i,66).Nj().Sj(n,n.yh(),t)}function cn(n){var e;if(I(n.a,4)){if(e=qQ(n.a),e==null)throw T(new Dr(HHn+n.b+"'. "+KHn+(Ph(Fy),Fy.k)+Etn));return e}else return n.a}function Epe(n){var e;if(n==null)return null;if(e=qCe(jc(n,!0)),e==null)throw T(new VI("Invalid base64Binary value: '"+n+"'"));return e}function oe(n){var e;try{return e=n.i.Xb(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function UF(n){var e;try{return e=n.c.ki(n.e),n.mj(),n.g=n.e++,e}catch(t){throw t=jt(t),I(t,73)?(n.mj(),T(new ic)):T(t)}}function a6(){a6=N,Trn=(Xe(),yhn),IR=Zfn,FUn=Tp,Crn=nd,BUn=(WT(),irn),NUn=ern,RUn=crn,LUn=nrn,xUn=(pF(),yrn),PR=OUn,Ern=DUn,nS=$Un}function LT(n){switch(DG(),this.c=new X,this.d=n,n.g){case 0:case 2:this.a=_W(qrn),this.b=$t;break;case 3:case 1:this.a=qrn,this.b=Vt}}function U$n(n,e,t){var i,r;if(n.c)Zc(n.c,n.c.i+e),nu(n.c,n.c.j+t);else for(r=new E(n.b);r.a0&&(W(n.b,new MEn(e.a,t)),i=e.a.length,0i&&(e.a+=Iyn(F(Ls,Bf,25,-i,15,1))))}function W$n(n,e){var t,i,r;for(t=n.o,r=u(u(ct(n.r,e),21),84).Kc();r.Ob();)i=u(r.Pb(),111),i.e.a=M3e(i,t.a),i.e.b=t.b*K(Y(i.b.We(JA)))}function Tpe(n,e){var t,i,r,c;return r=n.k,t=K(Y(k(n,(G(),k0)))),c=e.k,i=K(Y(k(e,k0))),c!=(Qn(),Xt)?-1:r!=Xt?1:t==i?0:t=0?n.hh(e,t,i):(n.eh()&&(i=(r=n.Vg(),r>=0?n.Qg(i):n.eh().ih(n,-1-r,null,i))),n.Sg(e,t,i))}function XQ(n,e){switch(e){case 7:!n.e&&(n.e=new Fn(di,n,7,4)),de(n.e);return;case 8:!n.d&&(n.d=new Fn(di,n,8,5)),de(n.d);return}FQ(n,e)}function qo(n,e){var t;t=n.Zc(e);try{return t.Pb()}catch(i){throw i=jt(i),I(i,109)?T(new vr("Can't get element "+e)):T(i)}}function VQ(n,e){this.e=n,e=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function K2(){K2=N,$k=new Rj(NM,0),Dk=new Rj(lN,1),Fk=new Rj(aN,2),xk=new Rj(dN,3),$k.a=!1,Dk.a=!0,Fk.a=!1,xk.a=!0}function d6(){d6=N,Lk=new Bj(NM,0),YA=new Bj(lN,1),ZA=new Bj(aN,2),Nk=new Bj(dN,3),Lk.a=!1,YA.a=!0,ZA.a=!1,Nk.a=!0}function Ipe(n){var e;e=n.a;do e=u(ve(new re(ue(xr(e).a.Kc(),new Mn))),17).c.i,e.k==(Qn(),gi)&&n.b.Fc(e);while(e.k==(Qn(),gi));n.b=va(n.b)}function Ope(n){var e,t,i;for(i=n.c.a,n.p=(pe(i),new du(i)),t=new E(i);t.at.b)return!0}return!1}function WF(n,e){return mi(n)?!!ozn[e]:n.hm?!!n.hm[e]:G0(n)?!!szn[e]:q0(n)?!!uzn[e]:!1}function gr(n,e,t){return t==null?(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),IT(n.o,e)):(!n.o&&(n.o=new Wu((Dc(),Ul),S0,n,0)),XT(n.o,e,t)),n}function xpe(n,e,t,i){var r,c;c=e.Xe((Xe(),_g))?u(e.We(_g),21):n.j,r=Cge(c),r!=(SM(),TR)&&(t&&!GQ(r)||nY(d9e(n,r,i),e))}function BT(n,e,t,i){var r,c,o;return c=On(n.Tg(),e),r=e-n.Ah(),r<0?(o=n.Yg(c),o>=0?n._g(o,t,!0):Yd(n,c,t)):u(c,66).Nj().Pj(n,n.yh(),r,t,i)}function Lpe(n,e,t,i){var r,c,o;t.mh(e)&&(er(),R$(e)?(r=u(t.ah(e),153),upe(n,r)):(c=(o=e,o?u(i,49).xh(o):null),c&&Bte(t.ah(e),c)))}function Npe(n){switch(n.g){case 1:return Hd(),Ok;case 3:return Hd(),Ik;case 2:return Hd(),AR;case 4:return Hd(),MR;default:return null}}function QQ(n){switch(typeof n){case EL:return m1(n);case UZ:return Gt(n);case X2:return qn(),n?1231:1237;default:return n==null?0:md(n)}}function Bpe(n,e,t){if(n.e)switch(n.b){case 1:d1e(n.c,e,t);break;case 0:b1e(n.c,e,t)}else xAn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function Y$n(n){var e,t;if(n==null)return null;for(t=F(vh,q,193,n.length,0,2),e=0;e=0)return r;if(n.Fk()){for(i=0;i=r)throw T(new V0(e,r));if(n.hi()&&(i=n.Xc(t),i>=0&&i!=e))throw T(new Hn(yk));return n.mi(e,t)}function JQ(n,e){if(this.a=u(pe(n),245),this.b=u(pe(e),245),n.vd(e)>0||n==(qI(),cR)||e==(HI(),uR))throw T(new Hn("Invalid range: "+OAn(n,e)))}function Z$n(n){var e,t;for(this.b=new X,this.c=n,this.a=!1,t=new E(n.a);t.a0),(e&-e)==e)return Gt(e*Fu(n,31)*4656612873077393e-25);do t=Fu(n,31),i=t%e;while(t-i+(e-1)<0);return Gt(i)}function m1(n){lEn();var e,t,i;return t=":"+n,i=XA[t],i!=null?Gt((_n(i),i)):(i=Xin[t],e=i==null?I8e(n):Gt((_n(i),i)),c1e(),XA[t]=e,e)}function eFn(n,e,t){le(t,"Compound graph preprocessor",1),n.a=new Od,s_n(n,e,null),pje(n,e),Z9e(n),H(e,(G(),dun),n.a),n.a=null,Eu(n.b),ce(t)}function Kpe(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function Hpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),IS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function qpe(n){var e,t,i;for(i=u(ct(n.a,(Vw(),OS)),15).Kc();i.Ob();)t=u(i.Pb(),101),e=hJ(t),b3(n,t,e[0],(Kd(),w0),0),b3(n,t,e[1],g0,1)}function XF(n){switch(n.g){case 0:return null;case 1:return new eOn;case 2:return new oG;default:throw T(new Hn(lB+(n.f!=null?n.f:""+n.g)))}}function k7(n,e,t){var i,r;for(lwe(n,e-n.s,t-n.t),r=new E(n.n);r.a1&&(c=_pe(n,e)),c}function VF(n){var e;return n.f&&n.f.kh()&&(e=u(n.f,49),n.f=u(pl(n,e),82),n.f!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,8,e,n.f))),n.f}function QF(n){var e;return n.i&&n.i.kh()&&(e=u(n.i,49),n.i=u(pl(n,e),82),n.i!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,7,e,n.i))),n.i}function ir(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(pl(n,e),18),n.b!=e&&n.Db&4&&!(n.Db&1)&&et(n,new wi(n,9,21,e,n.b))),n.b}function KT(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Sh(),u8e(n,n.f+1),r=(i&nt)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.uj()),t.Fc(e),++n.f)}function nJ(n,e,t){var i;return e.Kj()?!1:e.Zj()!=-2?(i=e.zj(),i==null?t==null:tt(i,t)):e.Hj()==n.e.Tg()&&t==null}function HT(){var n;is(16,J_n),n=UIn(16),this.b=F(oR,nk,317,n,0,1),this.c=F(oR,nk,317,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function qh(n){vU.call(this),this.k=(Qn(),ti),this.j=(is(6,Pb),new Pc(6)),this.b=(is(2,Pb),new Pc(2)),this.d=new NI,this.f=new Zq,this.a=n}function zpe(n){var e,t;n.c.length<=1||(e=ZNn(n,(J(),ae)),Kxn(n,u(e.a,19).a,u(e.b,19).a),t=ZNn(n,Gn),Kxn(n,u(t.a,19).a,u(t.b,19).a))}function b6(){b6=N,zsn=new V9("SIMPLE",0),nK=new V9(PN,1),eK=new V9("LINEAR_SEGMENTS",2),Lm=new V9("BRANDES_KOEPF",3),Nm=new V9(EHn,4)}function eJ(n,e,t){p2(u(k(e,(nn(),xt)),98))||(VX(n,e,k1(e,t)),VX(n,e,k1(e,(J(),ae))),VX(n,e,k1(e,Kn)),Pn(),bi(e.j,new i6n(n)))}function tFn(n,e,t,i){var r,c,o;for(r=u(ct(i?n.a:n.b,e),21),o=r.Kc();o.Ob();)if(c=u(o.Pb(),33),aM(n,t,c))return!0;return!1}function JF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function YF(n){var e,t;for(t=new ie(n);t.e!=t.i.gc();)if(e=u(oe(t),87),e.e||(!e.d&&(e.d=new Jt(ar,e,1)),e.d).i!=0)return!0;return!1}function Upe(n){var e,t,i;for(e=0,i=new E(n.c.a);i.a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function ex(n,e){if(n==null)throw T(new c2("null key in entry: null="+e));if(e==null)throw T(new c2("null value in entry: "+n+"=null"))}function Wpe(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(B(t)===B(i)||t!=null&&tt(t,i))))return!1;return!e.Ob()}function rFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[kF(n.a[0],e),kF(n.a[1],e),kF(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function cFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[pT(n.a[0],e),pT(n.a[1],e),pT(n.a[2],e)]),n.d&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function Pa(){Pa=N,f_=new X9("GREEDY",0),Gcn=new X9(fHn,1),h_=new X9(PN,2),Em=new X9("MODEL_ORDER",3),jm=new X9("GREEDY_MODEL_ORDER",4)}function uFn(n,e){var t,i,r;for(n.b[e.g]=1,i=_e(e.d,0);i.b!=i.d.c;)t=u(Re(i),188),r=t.c,n.b[r.g]==1?Ke(n.a,t):n.b[r.g]==2?n.b[r.g]=1:uFn(n,r)}function Xpe(n,e){var t,i,r;for(r=new Pc(e.gc()),i=e.Kc();i.Ob();)t=u(i.Pb(),286),t.c==t.f?l4(n,t,t.c):U5e(n,t)||(r.c[r.c.length]=t);return r}function Vpe(n,e,t){var i,r,c,o,f;for(f=n.r+e,n.r+=e,n.d+=t,i=t/n.n.c.length,r=0,o=new E(n.n);o.ac&&Mt(e,c,null),e}function f3e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=o,o+=f*(h+i)}function bFn(n){var e,t,i;for(i=n.f,n.n=F(ji,pr,25,i,15,1),n.d=F(ji,pr,25,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function g3e(n,e){var t,i,r,c,o;for(i=0,r=0,t=0,o=new E(e);o.a0?n.g:0),++t;n.c=r,n.d=i}function mFn(n,e){var t;return t=A(M(ji,1),pr,25,15,[ZQ(n,(_o(),Zr),e),ZQ(n,Fc,e),ZQ(n,nc,e)]),n.f&&(t[0]=j.Math.max(t[0],t[2]),t[2]=t[0]),t}function p3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function v3e(n,e,t){var i;try{wM(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=jt(r),I(r,73)?(i=r,T(new vr(i.g+RM+e+Ji+t+")."))):T(r)}}function kFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),So))?(e.Mc(So),e.Fc(Po)):e.Hc(Po)&&(e.Mc(Po),e.Fc(So)))}function yFn(n){var e;li(n,(nn(),y0))&&(e=u(k(n,y0),21),e.Hc((jb(),Oo))?(e.Mc(Oo),e.Fc(eo)):e.Hc(eo)&&(e.Mc(eo),e.Fc(Oo)))}function m3e(n,e,t){le(t,"Self-Loop ordering",1),Rt(Xc(gt(gt(qr(new $n(null,new xn(e.b,16)),new P0n),new I0n),new O0n),new D0n),new O5n(n)),ce(t)}function j7(n,e,t,i){var r,c;for(r=e;r0&&(r.b+=e),r}function zT(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),37),M6(t,0,r.b),r.b+=t.f.b+e,r.a=j.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function EFn(n){var e,t,i;for(i=nt,t=new E(n.a);t.a>16==6?n.Cb.ih(n,5,Vo,e):(i=ir(u(On((t=u(Rn(n,16),26),t||n.zh()),n.Db>>16),18)),n.Cb.ih(n,i.n,i.f,e))}function C3e(n){k3();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` `;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` diff --git a/_nuxt/ganttDiagram-04e74c0a.c4802b4a.js b/_nuxt/ganttDiagram-04e74c0a.79b32038.js similarity index 99% rename from _nuxt/ganttDiagram-04e74c0a.c4802b4a.js rename to _nuxt/ganttDiagram-04e74c0a.79b32038.js index 54baa428bc..3084f7172b 100644 --- a/_nuxt/ganttDiagram-04e74c0a.c4802b4a.js +++ b/_nuxt/ganttDiagram-04e74c0a.79b32038.js @@ -1,4 +1,4 @@ -import{a9 as on,aa as cn,ab as un,ac as ln,ad as jn,ae as Bn,af as me,ag as Oe,ah as He,ai as Zn,aj as ne,ak as qn,al as nt,c as bt,s as Xn,g as Gn,x as Qn,y as $n,b as Jn,a as Kn,e as tr,A as er,k as nr,l as de,i as Ht,j as rr,n as ir,z as ar}from"./mermaid.core.6d8597df.js";import{c as we,g as De}from"./_commonjsHelpers.725317a4.js";import{i as fn}from"./init.77b53fdd.js";import"./entry.8cfa8efb.js";function Rt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function sr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ce(t){let e,n,r;t.length!==2?(e=Rt,n=(u,y)=>Rt(t(u),y),r=(u,y)=>t(u)-y):(e=t===Rt||t===sr?t:or,n=t,r=t);function i(u,y,c=0,x=u.length){if(c>>1;n(u[p],y)<0?c=p+1:x=p}while(c>>1;n(u[p],y)<=0?c=p+1:x=p}while(cc&&r(u[p-1],y)>-r(u[p],y)?p-1:p}return{left:i,center:s,right:a}}function or(){return 0}function cr(t){return t===null?NaN:+t}const ur=Ce(Rt),lr=ur.right;Ce(cr).center;const fr=lr,hr=Math.sqrt(50),mr=Math.sqrt(10),dr=Math.sqrt(2);function qt(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=hr?10:a>=mr?5:a>=dr?2:1;let u,y,c;return i<0?(c=Math.pow(10,-i)/s,u=Math.round(t*c),y=Math.round(e*c),u/ce&&--y,c=-c):(c=Math.pow(10,i)*s,u=Math.round(t/c),y=Math.round(e/c),u*ce&&--y),y0))return[];if(t===e)return[t];const r=e=i))return[];const u=a-i+1,y=new Array(u);if(r)if(s<0)for(let c=0;c=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function pr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function kr(t){return t}var jt=1,re=2,pe=3,Pt=4,Pe=1e-6;function vr(t){return"translate("+t+",0)"}function Tr(t){return"translate(0,"+t+")"}function xr(t){return e=>+t(e)}function br(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Mr(){return!this.__axis}function hn(t,e){var n=[],r=null,i=null,a=6,s=6,u=3,y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=t===jt||t===Pt?-1:1,x=t===Pt||t===re?"x":"y",p=t===jt||t===pe?vr:Tr;function v(D){var z=r??(e.ticks?e.ticks.apply(e,n):e.domain()),T=i??(e.tickFormat?e.tickFormat.apply(e,n):kr),_=Math.max(a,0)+u,I=e.range(),W=+I[0]+y,O=+I[I.length-1]+y,V=(e.bandwidth?br:xr)(e.copy(),y),P=D.selection?D.selection():D,C=P.selectAll(".domain").data([null]),Y=P.selectAll(".tick").data(z,e).order(),w=Y.exit(),h=Y.enter().append("g").attr("class","tick"),g=Y.select("line"),l=Y.select("text");C=C.merge(C.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Y=Y.merge(h),g=g.merge(h.append("line").attr("stroke","currentColor").attr(x+"2",c*a)),l=l.merge(h.append("text").attr("fill","currentColor").attr(x,c*_).attr("dy",t===jt?"0em":t===pe?"0.71em":"0.32em")),D!==P&&(C=C.transition(D),Y=Y.transition(D),g=g.transition(D),l=l.transition(D),w=w.transition(D).attr("opacity",Pe).attr("transform",function(f){return isFinite(f=V(f))?p(f+y):this.getAttribute("transform")}),h.attr("opacity",Pe).attr("transform",function(f){var b=this.parentNode.__axis;return p((b&&isFinite(b=b(f))?b:V(f))+y)})),w.remove(),C.attr("d",t===Pt||t===re?s?"M"+c*s+","+W+"H"+y+"V"+O+"H"+c*s:"M"+y+","+W+"V"+O:s?"M"+W+","+c*s+"V"+y+"H"+O+"V"+c*s:"M"+W+","+y+"H"+O),Y.attr("opacity",1).attr("transform",function(f){return p(V(f)+y)}),g.attr(x+"2",c*a),l.attr(x,c*_).text(T),P.filter(Mr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===re?"start":t===Pt?"end":"middle"),P.each(function(){this.__axis=V})}return v.scale=function(D){return arguments.length?(e=D,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(D){return arguments.length?(n=D==null?[]:Array.from(D),v):n.slice()},v.tickValues=function(D){return arguments.length?(r=D==null?null:Array.from(D),v):r&&r.slice()},v.tickFormat=function(D){return arguments.length?(i=D,v):i},v.tickSize=function(D){return arguments.length?(a=s=+D,v):a},v.tickSizeInner=function(D){return arguments.length?(a=+D,v):a},v.tickSizeOuter=function(D){return arguments.length?(s=+D,v):s},v.tickPadding=function(D){return arguments.length?(u=+D,v):u},v.offset=function(D){return arguments.length?(y=+D,v):y},v}function wr(t){return hn(jt,t)}function Dr(t){return hn(pe,t)}const Cr=Math.PI/180,Sr=180/Math.PI,Xt=18,mn=.96422,dn=1,gn=.82521,yn=4/29,Mt=6/29,pn=3*Mt*Mt,_r=Mt*Mt*Mt;function kn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return vn(t);t instanceof un||(t=jn(t));var e=oe(t.r),n=oe(t.g),r=oe(t.b),i=ie((.2225045*e+.7168786*n+.0606169*r)/dn),a,s;return e===n&&n===r?a=s=i:(a=ie((.4360747*e+.3850649*n+.1430804*r)/mn),s=ie((.0139322*e+.0971045*n+.7141733*r)/gn)),new ot(116*i-16,500*(a-i),200*(i-s),t.opacity)}function Fr(t,e,n,r){return arguments.length===1?kn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}on(ot,Fr,cn(ln,{brighter(t){return new ot(this.l+Xt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Xt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=mn*ae(e),t=dn*ae(t),n=gn*ae(n),new un(se(3.1338561*e-1.6168667*t-.4906146*n),se(-.9787684*e+1.9161415*t+.033454*n),se(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ie(t){return t>_r?Math.pow(t,1/3):t/pn+yn}function ae(t){return t>Mt?t*t*t:pn*(t-yn)}function se(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ur(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=kn(t)),t.a===0&&t.b===0)return new ut(NaN,0=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Gt(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Dt(t){return t=Gt(Math.abs(t)),t?t[1]:NaN}function Hr(t,e){return function(n,r){for(var i=n.length,a=[],s=0,u=t[0],y=0;i>0&&u>0&&(y+u+1>r&&(u=Math.max(1,r-y)),a.push(n.substring(i-=u,i+u)),!((y+=u+1)>r));)u=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Pr(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Vr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qt(t){if(!(e=Vr.exec(t)))throw new Error("invalid format: "+t);var e;return new _e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Qt.prototype=_e.prototype;function _e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rr(t){t:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Tn;function jr(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Tn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Gt(t,Math.max(0,e+a-1))[0]}function Ve(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Re={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Or,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Ve(t*100,e),r:Ve,s:jr,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function je(t){return t}var Be=Array.prototype.map,Ze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Br(t){var e=t.grouping===void 0||t.thousands===void 0?je:Hr(Be.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?je:Pr(Be.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",y=t.nan===void 0?"NaN":t.nan+"";function c(p){p=Qt(p);var v=p.fill,D=p.align,z=p.sign,T=p.symbol,_=p.zero,I=p.width,W=p.comma,O=p.precision,V=p.trim,P=p.type;P==="n"?(W=!0,P="g"):Re[P]||(O===void 0&&(O=12),V=!0,P="g"),(_||v==="0"&&D==="=")&&(_=!0,v="0",D="=");var C=T==="$"?n:T==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",Y=T==="$"?r:/[%p]/.test(P)?s:"",w=Re[P],h=/[defgprs%]/.test(P);O=O===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function g(l){var f=C,b=Y,o,A,m;if(P==="c")b=w(l)+b,l="";else{l=+l;var B=l<0||1/l<0;if(l=isNaN(l)?y:w(Math.abs(l),O),V&&(l=Rr(l)),B&&+l==0&&z!=="+"&&(B=!1),f=(B?z==="("?z:u:z==="-"||z==="("?"":z)+f,b=(P==="s"?Ze[8+Tn/3]:"")+b+(B&&z==="("?")":""),h){for(o=-1,A=l.length;++om||m>57){b=(m===46?i+l.slice(o+1):l.slice(o))+b,l=l.slice(0,o);break}}}W&&!_&&(l=e(l,1/0));var Z=f.length+l.length+b.length,j=Z>1)+f+l+b+j.slice(Z);break;default:l=j+f+l+b;break}return a(l)}return g.toString=function(){return p+""},g}function x(p,v){var D=c((p=Qt(p),p.type="f",p)),z=Math.max(-8,Math.min(8,Math.floor(Dt(v)/3)))*3,T=Math.pow(10,-z),_=Ze[8+z/3];return function(I){return D(T*I)+_}}return{format:c,formatPrefix:x}}var Vt,xn,bn;Zr({thousands:",",grouping:[3],currency:["$",""]});function Zr(t){return Vt=Br(t),xn=Vt.format,bn=Vt.formatPrefix,Vt}function qr(t){return Math.max(0,-Dt(Math.abs(t)))}function Xr(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Dt(e)/3)))*3-Dt(Math.abs(t)))}function Gr(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Dt(e)-Dt(t))+1}function Qr(t){return function(){return t}}function $r(t){return+t}var qe=[0,1];function Tt(t){return t}function ve(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Qr(isNaN(e)?NaN:.5)}function Jr(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Kr(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?ti:Kr,y=c=null,p}function p(v){return v==null||isNaN(v=+v)?a:(y||(y=u(t.map(r),e,n)))(r(s(v)))}return p.invert=function(v){return s(i((c||(c=u(e,t.map(r),me)))(v)))},p.domain=function(v){return arguments.length?(t=Array.from(v,$r),x()):t.slice()},p.range=function(v){return arguments.length?(e=Array.from(v),x()):e.slice()},p.rangeRound=function(v){return e=Array.from(v),n=Nr,x()},p.clamp=function(v){return arguments.length?(s=v?!0:Tt,x()):s!==Tt},p.interpolate=function(v){return arguments.length?(n=v,x()):n},p.unknown=function(v){return arguments.length?(a=v,p):a},function(v,D){return r=v,i=D,x()}}function wn(){return ei()(Tt,Tt)}function ni(t,e,n,r){var i=ye(t,e,n),a;switch(r=Qt(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=Xr(i,s))&&(r.precision=a),bn(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=Gr(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=qr(i))&&(r.precision=a-(r.type==="%")*2);break}}return xn(r)}function ri(t){var e=t.domain;return t.ticks=function(n){var r=e();return gr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return ni(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],u=r[a],y,c,x=10;for(u0;){if(c=ge(s,u,n),c===y)return r[i]=s,r[a]=u,e(r);if(c>0)s=Math.floor(s/c)*c,u=Math.ceil(u/c)*c;else if(c<0)s=Math.ceil(s*c)/c,u=Math.floor(u*c)/c;else break;y=c}return t},t}function Dn(){var t=wn();return t.copy=function(){return Mn(t,Dn())},fn.apply(t,arguments),ri(t)}function ii(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),u=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,u)=>{const y=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return y;let c;do y.push(c=new Date(+a)),e(a,u),t(a);while(ctt(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;e(s,-1),!a(s););else for(;--u>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>(ce.setTime(+a),ue.setTime(+s),t(ce),t(ue),Math.floor(n(ce,ue))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const $t=tt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);$t.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?tt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):$t);$t.range;const lt=1e3,it=lt*60,ft=it*60,ht=ft*24,Fe=ht*7,Xe=ht*30,le=ht*365,xt=tt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*lt)},(t,e)=>(e-t)/lt,t=>t.getUTCSeconds());xt.range;const Lt=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Lt.range;const ai=tt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());ai.range;const It=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getHours());It.range;const si=tt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCHours());si.range;const gt=tt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/ht,t=>t.getDate()-1);gt.range;const Ue=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>t.getUTCDate()-1);Ue.range;const oi=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>Math.floor(t/ht));oi.range;function pt(t){return tt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/Fe)}const Ct=pt(0),Jt=pt(1),ci=pt(2),ui=pt(3),St=pt(4),li=pt(5),fi=pt(6);Ct.range;Jt.range;ci.range;ui.range;St.range;li.range;fi.range;function kt(t){return tt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Fe)}const Cn=kt(0),Kt=kt(1),hi=kt(2),mi=kt(3),_t=kt(4),di=kt(5),gi=kt(6);Cn.range;Kt.range;hi.range;mi.range;_t.range;di.range;gi.range;const Nt=tt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const yi=tt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());yi.range;const mt=tt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const yt=tt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});yt.range;function pi(t,e,n,r,i,a){const s=[[xt,1,lt],[xt,5,5*lt],[xt,15,15*lt],[xt,30,30*lt],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,ft],[i,3,3*ft],[i,6,6*ft],[i,12,12*ft],[r,1,ht],[r,2,2*ht],[n,1,Fe],[e,1,Xe],[e,3,3*Xe],[t,1,le]];function u(c,x,p){const v=x_).right(s,v);if(D===s.length)return t.every(ye(c/le,x/le,p));if(D===0)return $t.every(Math.max(ye(c,x,p),1));const[z,T]=s[v/s[D-1][2]53)return null;"w"in d||(d.w=1),"Z"in d?(N=he(At(d.y,0,1)),$=N.getUTCDay(),N=$>4||$===0?Kt.ceil(N):Kt(N),N=Ue.offset(N,(d.V-1)*7),d.y=N.getUTCFullYear(),d.m=N.getUTCMonth(),d.d=N.getUTCDate()+(d.w+6)%7):(N=fe(At(d.y,0,1)),$=N.getDay(),N=$>4||$===0?Jt.ceil(N):Jt(N),N=gt.offset(N,(d.V-1)*7),d.y=N.getFullYear(),d.m=N.getMonth(),d.d=N.getDate()+(d.w+6)%7)}else("W"in d||"U"in d)&&("w"in d||(d.w="u"in d?d.u%7:"W"in d?1:0),$="Z"in d?he(At(d.y,0,1)).getUTCDay():fe(At(d.y,0,1)).getDay(),d.m=0,d.d="W"in d?(d.w+6)%7+d.W*7-($+5)%7:d.w+d.U*7-($+6)%7);return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,he(d)):fe(d)}}function w(M,S,L,d){for(var X=0,N=S.length,$=L.length,J,at;X=$)return-1;if(J=S.charCodeAt(X++),J===37){if(J=S.charAt(X++),at=P[J in Ge?S.charAt(X++):J],!at||(d=at(M,L,d))<0)return-1}else if(J!=L.charCodeAt(d++))return-1}return d}function h(M,S,L){var d=c.exec(S.slice(L));return d?(M.p=x.get(d[0].toLowerCase()),L+d[0].length):-1}function g(M,S,L){var d=D.exec(S.slice(L));return d?(M.w=z.get(d[0].toLowerCase()),L+d[0].length):-1}function l(M,S,L){var d=p.exec(S.slice(L));return d?(M.w=v.get(d[0].toLowerCase()),L+d[0].length):-1}function f(M,S,L){var d=I.exec(S.slice(L));return d?(M.m=W.get(d[0].toLowerCase()),L+d[0].length):-1}function b(M,S,L){var d=T.exec(S.slice(L));return d?(M.m=_.get(d[0].toLowerCase()),L+d[0].length):-1}function o(M,S,L){return w(M,e,S,L)}function A(M,S,L){return w(M,n,S,L)}function m(M,S,L){return w(M,r,S,L)}function B(M){return s[M.getDay()]}function Z(M){return a[M.getDay()]}function j(M){return y[M.getMonth()]}function k(M){return u[M.getMonth()]}function F(M){return i[+(M.getHours()>=12)]}function U(M){return 1+~~(M.getMonth()/3)}function E(M){return s[M.getUTCDay()]}function H(M){return a[M.getUTCDay()]}function Q(M){return y[M.getUTCMonth()]}function q(M){return u[M.getUTCMonth()]}function dt(M){return i[+(M.getUTCHours()>=12)]}function G(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var S=C(M+="",O);return S.toString=function(){return M},S},parse:function(M){var S=Y(M+="",!1);return S.toString=function(){return M},S},utcFormat:function(M){var S=C(M+="",V);return S.toString=function(){return M},S},utcParse:function(M){var S=Y(M+="",!0);return S.toString=function(){return M},S}}}var Ge={"-":"",_:" ",0:"0"},et=/^\s*\d+/,xi=/^%/,bi=/[\\^$*+?|[\]().{}]/g;function R(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function wi(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Di(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ci(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Si(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function _i(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Qe(t,e,n){var r=et.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function $e(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Fi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ui(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ai(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Je(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yi(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ke(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Ei(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Li(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ii(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ni(t,e,n){var r=et.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Wi(t,e,n){var r=xi.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function zi(t,e,n){var r=et.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Oi(t,e,n){var r=et.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function tn(t,e){return R(t.getDate(),e,2)}function Hi(t,e){return R(t.getHours(),e,2)}function Pi(t,e){return R(t.getHours()%12||12,e,2)}function Vi(t,e){return R(1+gt.count(mt(t),t),e,3)}function Sn(t,e){return R(t.getMilliseconds(),e,3)}function Ri(t,e){return Sn(t,e)+"000"}function ji(t,e){return R(t.getMonth()+1,e,2)}function Bi(t,e){return R(t.getMinutes(),e,2)}function Zi(t,e){return R(t.getSeconds(),e,2)}function qi(t){var e=t.getDay();return e===0?7:e}function Xi(t,e){return R(Ct.count(mt(t)-1,t),e,2)}function _n(t){var e=t.getDay();return e>=4||e===0?St(t):St.ceil(t)}function Gi(t,e){return t=_n(t),R(St.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Qi(t){return t.getDay()}function $i(t,e){return R(Jt.count(mt(t)-1,t),e,2)}function Ji(t,e){return R(t.getFullYear()%100,e,2)}function Ki(t,e){return t=_n(t),R(t.getFullYear()%100,e,2)}function ta(t,e){return R(t.getFullYear()%1e4,e,4)}function ea(t,e){var n=t.getDay();return t=n>=4||n===0?St(t):St.ceil(t),R(t.getFullYear()%1e4,e,4)}function na(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+R(e/60|0,"0",2)+R(e%60,"0",2)}function en(t,e){return R(t.getUTCDate(),e,2)}function ra(t,e){return R(t.getUTCHours(),e,2)}function ia(t,e){return R(t.getUTCHours()%12||12,e,2)}function aa(t,e){return R(1+Ue.count(yt(t),t),e,3)}function Fn(t,e){return R(t.getUTCMilliseconds(),e,3)}function sa(t,e){return Fn(t,e)+"000"}function oa(t,e){return R(t.getUTCMonth()+1,e,2)}function ca(t,e){return R(t.getUTCMinutes(),e,2)}function ua(t,e){return R(t.getUTCSeconds(),e,2)}function la(t){var e=t.getUTCDay();return e===0?7:e}function fa(t,e){return R(Cn.count(yt(t)-1,t),e,2)}function Un(t){var e=t.getUTCDay();return e>=4||e===0?_t(t):_t.ceil(t)}function ha(t,e){return t=Un(t),R(_t.count(yt(t),t)+(yt(t).getUTCDay()===4),e,2)}function ma(t){return t.getUTCDay()}function da(t,e){return R(Kt.count(yt(t)-1,t),e,2)}function ga(t,e){return R(t.getUTCFullYear()%100,e,2)}function ya(t,e){return t=Un(t),R(t.getUTCFullYear()%100,e,2)}function pa(t,e){return R(t.getUTCFullYear()%1e4,e,4)}function ka(t,e){var n=t.getUTCDay();return t=n>=4||n===0?_t(t):_t.ceil(t),R(t.getUTCFullYear()%1e4,e,4)}function va(){return"+0000"}function nn(){return"%"}function rn(t){return+t}function an(t){return Math.floor(+t/1e3)}var vt,te;Ta({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ta(t){return vt=Ti(t),te=vt.format,vt.parse,vt.utcFormat,vt.utcParse,vt}function xa(t){return new Date(t)}function ba(t){return t instanceof Date?+t:+new Date(+t)}function An(t,e,n,r,i,a,s,u,y,c){var x=wn(),p=x.invert,v=x.domain,D=c(".%L"),z=c(":%S"),T=c("%I:%M"),_=c("%I %p"),I=c("%a %d"),W=c("%b %d"),O=c("%B"),V=c("%Y");function P(C){return(y(C)4&&(D+=7),v.add(D,n));return z.diff(T,"week")+1},u.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var y=u.startOf;u.startOf=function(c,x){var p=this.$utils(),v=!!p.u(x)||x;return p.p(c)==="isoweek"?v?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):y.bind(this)(c,x)}}})})(Yn);var wa=Yn.exports;const Da=De(wa);var En={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,u={},y=function(T){return(T=+T)+(T>68?1900:2e3)},c=function(T){return function(_){this[T]=+_}},x=[/[+-]\d\d:?(\d\d)?|Z/,function(T){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var I=_.match(/([+-]|\d\d)/g),W=60*I[1]+(+I[2]||0);return W===0?0:I[0]==="+"?-W:W}(T)}],p=function(T){var _=u[T];return _&&(_.indexOf?_:_.s.concat(_.f))},v=function(T,_){var I,W=u.meridiem;if(W){for(var O=1;O<=24;O+=1)if(T.indexOf(W(O,0,_))>-1){I=O>12;break}}else I=T===(_?"pm":"PM");return I},D={A:[s,function(T){this.afternoon=v(T,!1)}],a:[s,function(T){this.afternoon=v(T,!0)}],S:[/\d/,function(T){this.milliseconds=100*+T}],SS:[i,function(T){this.milliseconds=10*+T}],SSS:[/\d{3}/,function(T){this.milliseconds=+T}],s:[a,c("seconds")],ss:[a,c("seconds")],m:[a,c("minutes")],mm:[a,c("minutes")],H:[a,c("hours")],h:[a,c("hours")],HH:[a,c("hours")],hh:[a,c("hours")],D:[a,c("day")],DD:[i,c("day")],Do:[s,function(T){var _=u.ordinal,I=T.match(/\d+/);if(this.day=I[0],_)for(var W=1;W<=31;W+=1)_(W).replace(/\[|\]/g,"")===T&&(this.day=W)}],M:[a,c("month")],MM:[i,c("month")],MMM:[s,function(T){var _=p("months"),I=(p("monthsShort")||_.map(function(W){return W.slice(0,3)})).indexOf(T)+1;if(I<1)throw new Error;this.month=I%12||I}],MMMM:[s,function(T){var _=p("months").indexOf(T)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(T){this.year=y(T)}],YYYY:[/\d{4}/,c("year")],Z:x,ZZ:x};function z(T){var _,I;_=T,I=u&&u.formats;for(var W=(T=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(h,g,l){var f=l&&l.toUpperCase();return g||I[l]||n[l]||I[f].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(b,o,A){return o||A.slice(1)})})).match(r),O=W.length,V=0;V-1)return new Date((B==="X"?1e3:1)*m);var j=z(B)(m),k=j.year,F=j.month,U=j.day,E=j.hours,H=j.minutes,Q=j.seconds,q=j.milliseconds,dt=j.zone,G=new Date,M=U||(k||F?1:G.getDate()),S=k||G.getFullYear(),L=0;k&&!F||(L=F>0?F-1:G.getMonth());var d=E||0,X=H||0,N=Q||0,$=q||0;return dt?new Date(Date.UTC(S,L,M,d,X,N,$+60*dt.offset*1e3)):Z?new Date(Date.UTC(S,L,M,d,X,N,$)):new Date(S,L,M,d,X,N,$)}catch{return new Date("")}}(P,w,C),this.init(),f&&f!==!0&&(this.$L=this.locale(f).$L),l&&P!=this.format(w)&&(this.$d=new Date("")),u={}}else if(w instanceof Array)for(var b=w.length,o=1;o<=b;o+=1){Y[1]=w[o-1];var A=I.apply(this,Y);if(A.isValid()){this.$d=A.$d,this.$L=A.$L,this.init();break}o===b&&(this.$d=new Date(""))}else O.call(this,V)}}})})(En);var Ca=En.exports;const Sa=De(Ca);var Ln={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(s){var u=this,y=this.$locale();if(!this.isValid())return a.bind(this)(s);var c=this.$utils(),x=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((u.$M+1)/3);case"Do":return y.ordinal(u.$D);case"gggg":return u.weekYear();case"GGGG":return u.isoWeekYear();case"wo":return y.ordinal(u.week(),"W");case"w":case"ww":return c.s(u.week(),p==="w"?1:2,"0");case"W":case"WW":return c.s(u.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return c.s(String(u.$H===0?24:u.$H),p==="k"?1:2,"0");case"X":return Math.floor(u.$d.getTime()/1e3);case"x":return u.$d.getTime();case"z":return"["+u.offsetName()+"]";case"zzz":return"["+u.offsetName("long")+"]";default:return p}});return a.bind(this)(x)}}})})(Ln);var _a=Ln.exports;const Fa=De(_a);var Te=function(){var t=function(w,h,g,l){for(g=g||{},l=w.length;l--;g[w[l]]=h);return g},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],i=[1,15],a=[1,16],s=[1,17],u=[1,18],y=[1,19],c=[1,20],x=[1,21],p=[1,22],v=[1,23],D=[1,24],z=[1,25],T=[1,26],_=[1,27],I=[1,29],W=[1,31],O=[1,34],V=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],P={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(h,g,l,f,b,o,A){var m=o.length-1;switch(b){case 2:return o[m-1];case 3:this.$=[];break;case 4:o[m-1].push(o[m]),this.$=o[m-1];break;case 5:case 6:this.$=o[m];break;case 7:case 8:this.$=[];break;case 9:f.setDateFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 10:f.enableInclusiveEndDates(),this.$=o[m].substr(18);break;case 11:f.TopAxis(),this.$=o[m].substr(8);break;case 12:f.setAxisFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 13:f.setTickInterval(o[m].substr(13)),this.$=o[m].substr(13);break;case 14:f.setExcludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 15:f.setIncludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 16:f.setTodayMarker(o[m].substr(12)),this.$=o[m].substr(12);break;case 17:f.setDiagramTitle(o[m].substr(6)),this.$=o[m].substr(6);break;case 18:this.$=o[m].trim(),f.setAccTitle(this.$);break;case 19:case 20:this.$=o[m].trim(),f.setAccDescription(this.$);break;case 21:f.addSection(o[m].substr(8)),this.$=o[m].substr(8);break;case 23:f.addTask(o[m-1],o[m]),this.$="task";break;case 27:this.$=o[m-1],f.setClickEvent(o[m-1],o[m],null);break;case 28:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],o[m]);break;case 29:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],null),f.setLink(o[m-2],o[m]);break;case 30:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-2],o[m-1]),f.setLink(o[m-3],o[m]);break;case 31:this.$=o[m-2],f.setClickEvent(o[m-2],o[m],null),f.setLink(o[m-2],o[m-1]);break;case 32:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-1],o[m]),f.setLink(o[m-3],o[m-2]);break;case 33:this.$=o[m-1],f.setLink(o[m-1],o[m]);break;case 34:case 40:this.$=o[m-1]+" "+o[m];break;case 35:case 36:case 38:this.$=o[m-2]+" "+o[m-1]+" "+o[m];break;case 37:case 39:this.$=o[m-3]+" "+o[m-2]+" "+o[m-1]+" "+o[m];break;case 41:f.parseDirective("%%{","open_directive");break;case 42:f.parseDirective(o[m],"type_directive");break;case 43:o[m]=o[m].trim().replace(/'/g,'"'),f.parseDirective(o[m],"arg_directive");break;case 44:f.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,30:4,40:n},{1:[3]},{3:6,4:2,5:e,30:4,40:n},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},{32:32,33:[1,33],43:O},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:30,10:35,12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(V,[2,25]),{32:47,43:O},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(V,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(h,g){if(g.recoverable)this.trace(h);else{var l=new Error(h);throw l.hash=g,l}},parse:function(h){var g=this,l=[0],f=[],b=[null],o=[],A=this.table,m="",B=0,Z=0,j=2,k=1,F=o.slice.call(arguments,1),U=Object.create(this.lexer),E={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(E.yy[H]=this.yy[H]);U.setInput(h,E.yy),E.yy.lexer=U,E.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var Q=U.yylloc;o.push(Q);var q=U.options&&U.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(){var rt;return rt=f.pop()||U.lex()||k,typeof rt!="number"&&(rt instanceof Array&&(f=rt,rt=f.pop()),rt=g.symbols_[rt]||rt),rt}for(var G,M,S,L,d={},X,N,$,J;;){if(M=l[l.length-1],this.defaultActions[M]?S=this.defaultActions[M]:((G===null||typeof G>"u")&&(G=dt()),S=A[M]&&A[M][G]),typeof S>"u"||!S.length||!S[0]){var at="";J=[];for(X in A[M])this.terminals_[X]&&X>j&&J.push("'"+this.terminals_[X]+"'");U.showPosition?at="Parse error on line "+(B+1)+`: +import{a9 as on,aa as cn,ab as un,ac as ln,ad as jn,ae as Bn,af as me,ag as Oe,ah as He,ai as Zn,aj as ne,ak as qn,al as nt,c as bt,s as Xn,g as Gn,x as Qn,y as $n,b as Jn,a as Kn,e as tr,A as er,k as nr,l as de,i as Ht,j as rr,n as ir,z as ar}from"./mermaid.core.bd97f718.js";import{c as we,g as De}from"./_commonjsHelpers.725317a4.js";import{i as fn}from"./init.77b53fdd.js";import"./entry.363473ce.js";function Rt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function sr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ce(t){let e,n,r;t.length!==2?(e=Rt,n=(u,y)=>Rt(t(u),y),r=(u,y)=>t(u)-y):(e=t===Rt||t===sr?t:or,n=t,r=t);function i(u,y,c=0,x=u.length){if(c>>1;n(u[p],y)<0?c=p+1:x=p}while(c>>1;n(u[p],y)<=0?c=p+1:x=p}while(cc&&r(u[p-1],y)>-r(u[p],y)?p-1:p}return{left:i,center:s,right:a}}function or(){return 0}function cr(t){return t===null?NaN:+t}const ur=Ce(Rt),lr=ur.right;Ce(cr).center;const fr=lr,hr=Math.sqrt(50),mr=Math.sqrt(10),dr=Math.sqrt(2);function qt(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=hr?10:a>=mr?5:a>=dr?2:1;let u,y,c;return i<0?(c=Math.pow(10,-i)/s,u=Math.round(t*c),y=Math.round(e*c),u/ce&&--y,c=-c):(c=Math.pow(10,i)*s,u=Math.round(t/c),y=Math.round(e/c),u*ce&&--y),y0))return[];if(t===e)return[t];const r=e=i))return[];const u=a-i+1,y=new Array(u);if(r)if(s<0)for(let c=0;c=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function pr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function kr(t){return t}var jt=1,re=2,pe=3,Pt=4,Pe=1e-6;function vr(t){return"translate("+t+",0)"}function Tr(t){return"translate(0,"+t+")"}function xr(t){return e=>+t(e)}function br(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Mr(){return!this.__axis}function hn(t,e){var n=[],r=null,i=null,a=6,s=6,u=3,y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=t===jt||t===Pt?-1:1,x=t===Pt||t===re?"x":"y",p=t===jt||t===pe?vr:Tr;function v(D){var z=r??(e.ticks?e.ticks.apply(e,n):e.domain()),T=i??(e.tickFormat?e.tickFormat.apply(e,n):kr),_=Math.max(a,0)+u,I=e.range(),W=+I[0]+y,O=+I[I.length-1]+y,V=(e.bandwidth?br:xr)(e.copy(),y),P=D.selection?D.selection():D,C=P.selectAll(".domain").data([null]),Y=P.selectAll(".tick").data(z,e).order(),w=Y.exit(),h=Y.enter().append("g").attr("class","tick"),g=Y.select("line"),l=Y.select("text");C=C.merge(C.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Y=Y.merge(h),g=g.merge(h.append("line").attr("stroke","currentColor").attr(x+"2",c*a)),l=l.merge(h.append("text").attr("fill","currentColor").attr(x,c*_).attr("dy",t===jt?"0em":t===pe?"0.71em":"0.32em")),D!==P&&(C=C.transition(D),Y=Y.transition(D),g=g.transition(D),l=l.transition(D),w=w.transition(D).attr("opacity",Pe).attr("transform",function(f){return isFinite(f=V(f))?p(f+y):this.getAttribute("transform")}),h.attr("opacity",Pe).attr("transform",function(f){var b=this.parentNode.__axis;return p((b&&isFinite(b=b(f))?b:V(f))+y)})),w.remove(),C.attr("d",t===Pt||t===re?s?"M"+c*s+","+W+"H"+y+"V"+O+"H"+c*s:"M"+y+","+W+"V"+O:s?"M"+W+","+c*s+"V"+y+"H"+O+"V"+c*s:"M"+W+","+y+"H"+O),Y.attr("opacity",1).attr("transform",function(f){return p(V(f)+y)}),g.attr(x+"2",c*a),l.attr(x,c*_).text(T),P.filter(Mr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===re?"start":t===Pt?"end":"middle"),P.each(function(){this.__axis=V})}return v.scale=function(D){return arguments.length?(e=D,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(D){return arguments.length?(n=D==null?[]:Array.from(D),v):n.slice()},v.tickValues=function(D){return arguments.length?(r=D==null?null:Array.from(D),v):r&&r.slice()},v.tickFormat=function(D){return arguments.length?(i=D,v):i},v.tickSize=function(D){return arguments.length?(a=s=+D,v):a},v.tickSizeInner=function(D){return arguments.length?(a=+D,v):a},v.tickSizeOuter=function(D){return arguments.length?(s=+D,v):s},v.tickPadding=function(D){return arguments.length?(u=+D,v):u},v.offset=function(D){return arguments.length?(y=+D,v):y},v}function wr(t){return hn(jt,t)}function Dr(t){return hn(pe,t)}const Cr=Math.PI/180,Sr=180/Math.PI,Xt=18,mn=.96422,dn=1,gn=.82521,yn=4/29,Mt=6/29,pn=3*Mt*Mt,_r=Mt*Mt*Mt;function kn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return vn(t);t instanceof un||(t=jn(t));var e=oe(t.r),n=oe(t.g),r=oe(t.b),i=ie((.2225045*e+.7168786*n+.0606169*r)/dn),a,s;return e===n&&n===r?a=s=i:(a=ie((.4360747*e+.3850649*n+.1430804*r)/mn),s=ie((.0139322*e+.0971045*n+.7141733*r)/gn)),new ot(116*i-16,500*(a-i),200*(i-s),t.opacity)}function Fr(t,e,n,r){return arguments.length===1?kn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}on(ot,Fr,cn(ln,{brighter(t){return new ot(this.l+Xt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Xt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=mn*ae(e),t=dn*ae(t),n=gn*ae(n),new un(se(3.1338561*e-1.6168667*t-.4906146*n),se(-.9787684*e+1.9161415*t+.033454*n),se(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ie(t){return t>_r?Math.pow(t,1/3):t/pn+yn}function ae(t){return t>Mt?t*t*t:pn*(t-yn)}function se(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ur(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=kn(t)),t.a===0&&t.b===0)return new ut(NaN,0=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Gt(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Dt(t){return t=Gt(Math.abs(t)),t?t[1]:NaN}function Hr(t,e){return function(n,r){for(var i=n.length,a=[],s=0,u=t[0],y=0;i>0&&u>0&&(y+u+1>r&&(u=Math.max(1,r-y)),a.push(n.substring(i-=u,i+u)),!((y+=u+1)>r));)u=t[s=(s+1)%t.length];return a.reverse().join(e)}}function Pr(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Vr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qt(t){if(!(e=Vr.exec(t)))throw new Error("invalid format: "+t);var e;return new _e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Qt.prototype=_e.prototype;function _e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Rr(t){t:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Tn;function jr(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Tn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Gt(t,Math.max(0,e+a-1))[0]}function Ve(t,e){var n=Gt(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Re={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Or,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Ve(t*100,e),r:Ve,s:jr,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function je(t){return t}var Be=Array.prototype.map,Ze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Br(t){var e=t.grouping===void 0||t.thousands===void 0?je:Hr(Be.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?je:Pr(Be.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",u=t.minus===void 0?"−":t.minus+"",y=t.nan===void 0?"NaN":t.nan+"";function c(p){p=Qt(p);var v=p.fill,D=p.align,z=p.sign,T=p.symbol,_=p.zero,I=p.width,W=p.comma,O=p.precision,V=p.trim,P=p.type;P==="n"?(W=!0,P="g"):Re[P]||(O===void 0&&(O=12),V=!0,P="g"),(_||v==="0"&&D==="=")&&(_=!0,v="0",D="=");var C=T==="$"?n:T==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",Y=T==="$"?r:/[%p]/.test(P)?s:"",w=Re[P],h=/[defgprs%]/.test(P);O=O===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function g(l){var f=C,b=Y,o,A,m;if(P==="c")b=w(l)+b,l="";else{l=+l;var B=l<0||1/l<0;if(l=isNaN(l)?y:w(Math.abs(l),O),V&&(l=Rr(l)),B&&+l==0&&z!=="+"&&(B=!1),f=(B?z==="("?z:u:z==="-"||z==="("?"":z)+f,b=(P==="s"?Ze[8+Tn/3]:"")+b+(B&&z==="("?")":""),h){for(o=-1,A=l.length;++om||m>57){b=(m===46?i+l.slice(o+1):l.slice(o))+b,l=l.slice(0,o);break}}}W&&!_&&(l=e(l,1/0));var Z=f.length+l.length+b.length,j=Z>1)+f+l+b+j.slice(Z);break;default:l=j+f+l+b;break}return a(l)}return g.toString=function(){return p+""},g}function x(p,v){var D=c((p=Qt(p),p.type="f",p)),z=Math.max(-8,Math.min(8,Math.floor(Dt(v)/3)))*3,T=Math.pow(10,-z),_=Ze[8+z/3];return function(I){return D(T*I)+_}}return{format:c,formatPrefix:x}}var Vt,xn,bn;Zr({thousands:",",grouping:[3],currency:["$",""]});function Zr(t){return Vt=Br(t),xn=Vt.format,bn=Vt.formatPrefix,Vt}function qr(t){return Math.max(0,-Dt(Math.abs(t)))}function Xr(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Dt(e)/3)))*3-Dt(Math.abs(t)))}function Gr(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Dt(e)-Dt(t))+1}function Qr(t){return function(){return t}}function $r(t){return+t}var qe=[0,1];function Tt(t){return t}function ve(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Qr(isNaN(e)?NaN:.5)}function Jr(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Kr(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?ti:Kr,y=c=null,p}function p(v){return v==null||isNaN(v=+v)?a:(y||(y=u(t.map(r),e,n)))(r(s(v)))}return p.invert=function(v){return s(i((c||(c=u(e,t.map(r),me)))(v)))},p.domain=function(v){return arguments.length?(t=Array.from(v,$r),x()):t.slice()},p.range=function(v){return arguments.length?(e=Array.from(v),x()):e.slice()},p.rangeRound=function(v){return e=Array.from(v),n=Nr,x()},p.clamp=function(v){return arguments.length?(s=v?!0:Tt,x()):s!==Tt},p.interpolate=function(v){return arguments.length?(n=v,x()):n},p.unknown=function(v){return arguments.length?(a=v,p):a},function(v,D){return r=v,i=D,x()}}function wn(){return ei()(Tt,Tt)}function ni(t,e,n,r){var i=ye(t,e,n),a;switch(r=Qt(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=Xr(i,s))&&(r.precision=a),bn(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=Gr(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=qr(i))&&(r.precision=a-(r.type==="%")*2);break}}return xn(r)}function ri(t){var e=t.domain;return t.ticks=function(n){var r=e();return gr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return ni(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],u=r[a],y,c,x=10;for(u0;){if(c=ge(s,u,n),c===y)return r[i]=s,r[a]=u,e(r);if(c>0)s=Math.floor(s/c)*c,u=Math.ceil(u/c)*c;else if(c<0)s=Math.ceil(s*c)/c,u=Math.floor(u*c)/c;else break;y=c}return t},t}function Dn(){var t=wn();return t.copy=function(){return Mn(t,Dn())},fn.apply(t,arguments),ri(t)}function ii(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),u=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,u)=>{const y=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return y;let c;do y.push(c=new Date(+a)),e(a,u),t(a);while(ctt(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,u)=>{if(s>=s)if(u<0)for(;++u<=0;)for(;e(s,-1),!a(s););else for(;--u>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>(ce.setTime(+a),ue.setTime(+s),t(ce),t(ue),Math.floor(n(ce,ue))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const $t=tt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);$t.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?tt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):$t);$t.range;const lt=1e3,it=lt*60,ft=it*60,ht=ft*24,Fe=ht*7,Xe=ht*30,le=ht*365,xt=tt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*lt)},(t,e)=>(e-t)/lt,t=>t.getUTCSeconds());xt.range;const Lt=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Lt.range;const ai=tt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());ai.range;const It=tt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*lt-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getHours());It.range;const si=tt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCHours());si.range;const gt=tt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/ht,t=>t.getDate()-1);gt.range;const Ue=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>t.getUTCDate()-1);Ue.range;const oi=tt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/ht,t=>Math.floor(t/ht));oi.range;function pt(t){return tt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/Fe)}const Ct=pt(0),Jt=pt(1),ci=pt(2),ui=pt(3),St=pt(4),li=pt(5),fi=pt(6);Ct.range;Jt.range;ci.range;ui.range;St.range;li.range;fi.range;function kt(t){return tt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Fe)}const Cn=kt(0),Kt=kt(1),hi=kt(2),mi=kt(3),_t=kt(4),di=kt(5),gi=kt(6);Cn.range;Kt.range;hi.range;mi.range;_t.range;di.range;gi.range;const Nt=tt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const yi=tt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());yi.range;const mt=tt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const yt=tt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:tt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});yt.range;function pi(t,e,n,r,i,a){const s=[[xt,1,lt],[xt,5,5*lt],[xt,15,15*lt],[xt,30,30*lt],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,ft],[i,3,3*ft],[i,6,6*ft],[i,12,12*ft],[r,1,ht],[r,2,2*ht],[n,1,Fe],[e,1,Xe],[e,3,3*Xe],[t,1,le]];function u(c,x,p){const v=x_).right(s,v);if(D===s.length)return t.every(ye(c/le,x/le,p));if(D===0)return $t.every(Math.max(ye(c,x,p),1));const[z,T]=s[v/s[D-1][2]53)return null;"w"in d||(d.w=1),"Z"in d?(N=he(At(d.y,0,1)),$=N.getUTCDay(),N=$>4||$===0?Kt.ceil(N):Kt(N),N=Ue.offset(N,(d.V-1)*7),d.y=N.getUTCFullYear(),d.m=N.getUTCMonth(),d.d=N.getUTCDate()+(d.w+6)%7):(N=fe(At(d.y,0,1)),$=N.getDay(),N=$>4||$===0?Jt.ceil(N):Jt(N),N=gt.offset(N,(d.V-1)*7),d.y=N.getFullYear(),d.m=N.getMonth(),d.d=N.getDate()+(d.w+6)%7)}else("W"in d||"U"in d)&&("w"in d||(d.w="u"in d?d.u%7:"W"in d?1:0),$="Z"in d?he(At(d.y,0,1)).getUTCDay():fe(At(d.y,0,1)).getDay(),d.m=0,d.d="W"in d?(d.w+6)%7+d.W*7-($+5)%7:d.w+d.U*7-($+6)%7);return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,he(d)):fe(d)}}function w(M,S,L,d){for(var X=0,N=S.length,$=L.length,J,at;X=$)return-1;if(J=S.charCodeAt(X++),J===37){if(J=S.charAt(X++),at=P[J in Ge?S.charAt(X++):J],!at||(d=at(M,L,d))<0)return-1}else if(J!=L.charCodeAt(d++))return-1}return d}function h(M,S,L){var d=c.exec(S.slice(L));return d?(M.p=x.get(d[0].toLowerCase()),L+d[0].length):-1}function g(M,S,L){var d=D.exec(S.slice(L));return d?(M.w=z.get(d[0].toLowerCase()),L+d[0].length):-1}function l(M,S,L){var d=p.exec(S.slice(L));return d?(M.w=v.get(d[0].toLowerCase()),L+d[0].length):-1}function f(M,S,L){var d=I.exec(S.slice(L));return d?(M.m=W.get(d[0].toLowerCase()),L+d[0].length):-1}function b(M,S,L){var d=T.exec(S.slice(L));return d?(M.m=_.get(d[0].toLowerCase()),L+d[0].length):-1}function o(M,S,L){return w(M,e,S,L)}function A(M,S,L){return w(M,n,S,L)}function m(M,S,L){return w(M,r,S,L)}function B(M){return s[M.getDay()]}function Z(M){return a[M.getDay()]}function j(M){return y[M.getMonth()]}function k(M){return u[M.getMonth()]}function F(M){return i[+(M.getHours()>=12)]}function U(M){return 1+~~(M.getMonth()/3)}function E(M){return s[M.getUTCDay()]}function H(M){return a[M.getUTCDay()]}function Q(M){return y[M.getUTCMonth()]}function q(M){return u[M.getUTCMonth()]}function dt(M){return i[+(M.getUTCHours()>=12)]}function G(M){return 1+~~(M.getUTCMonth()/3)}return{format:function(M){var S=C(M+="",O);return S.toString=function(){return M},S},parse:function(M){var S=Y(M+="",!1);return S.toString=function(){return M},S},utcFormat:function(M){var S=C(M+="",V);return S.toString=function(){return M},S},utcParse:function(M){var S=Y(M+="",!0);return S.toString=function(){return M},S}}}var Ge={"-":"",_:" ",0:"0"},et=/^\s*\d+/,xi=/^%/,bi=/[\\^$*+?|[\]().{}]/g;function R(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function wi(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Di(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ci(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Si(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function _i(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Qe(t,e,n){var r=et.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function $e(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Fi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ui(t,e,n){var r=et.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ai(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Je(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yi(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ke(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Ei(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Li(t,e,n){var r=et.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ii(t,e,n){var r=et.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ni(t,e,n){var r=et.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Wi(t,e,n){var r=xi.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function zi(t,e,n){var r=et.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Oi(t,e,n){var r=et.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function tn(t,e){return R(t.getDate(),e,2)}function Hi(t,e){return R(t.getHours(),e,2)}function Pi(t,e){return R(t.getHours()%12||12,e,2)}function Vi(t,e){return R(1+gt.count(mt(t),t),e,3)}function Sn(t,e){return R(t.getMilliseconds(),e,3)}function Ri(t,e){return Sn(t,e)+"000"}function ji(t,e){return R(t.getMonth()+1,e,2)}function Bi(t,e){return R(t.getMinutes(),e,2)}function Zi(t,e){return R(t.getSeconds(),e,2)}function qi(t){var e=t.getDay();return e===0?7:e}function Xi(t,e){return R(Ct.count(mt(t)-1,t),e,2)}function _n(t){var e=t.getDay();return e>=4||e===0?St(t):St.ceil(t)}function Gi(t,e){return t=_n(t),R(St.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Qi(t){return t.getDay()}function $i(t,e){return R(Jt.count(mt(t)-1,t),e,2)}function Ji(t,e){return R(t.getFullYear()%100,e,2)}function Ki(t,e){return t=_n(t),R(t.getFullYear()%100,e,2)}function ta(t,e){return R(t.getFullYear()%1e4,e,4)}function ea(t,e){var n=t.getDay();return t=n>=4||n===0?St(t):St.ceil(t),R(t.getFullYear()%1e4,e,4)}function na(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+R(e/60|0,"0",2)+R(e%60,"0",2)}function en(t,e){return R(t.getUTCDate(),e,2)}function ra(t,e){return R(t.getUTCHours(),e,2)}function ia(t,e){return R(t.getUTCHours()%12||12,e,2)}function aa(t,e){return R(1+Ue.count(yt(t),t),e,3)}function Fn(t,e){return R(t.getUTCMilliseconds(),e,3)}function sa(t,e){return Fn(t,e)+"000"}function oa(t,e){return R(t.getUTCMonth()+1,e,2)}function ca(t,e){return R(t.getUTCMinutes(),e,2)}function ua(t,e){return R(t.getUTCSeconds(),e,2)}function la(t){var e=t.getUTCDay();return e===0?7:e}function fa(t,e){return R(Cn.count(yt(t)-1,t),e,2)}function Un(t){var e=t.getUTCDay();return e>=4||e===0?_t(t):_t.ceil(t)}function ha(t,e){return t=Un(t),R(_t.count(yt(t),t)+(yt(t).getUTCDay()===4),e,2)}function ma(t){return t.getUTCDay()}function da(t,e){return R(Kt.count(yt(t)-1,t),e,2)}function ga(t,e){return R(t.getUTCFullYear()%100,e,2)}function ya(t,e){return t=Un(t),R(t.getUTCFullYear()%100,e,2)}function pa(t,e){return R(t.getUTCFullYear()%1e4,e,4)}function ka(t,e){var n=t.getUTCDay();return t=n>=4||n===0?_t(t):_t.ceil(t),R(t.getUTCFullYear()%1e4,e,4)}function va(){return"+0000"}function nn(){return"%"}function rn(t){return+t}function an(t){return Math.floor(+t/1e3)}var vt,te;Ta({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ta(t){return vt=Ti(t),te=vt.format,vt.parse,vt.utcFormat,vt.utcParse,vt}function xa(t){return new Date(t)}function ba(t){return t instanceof Date?+t:+new Date(+t)}function An(t,e,n,r,i,a,s,u,y,c){var x=wn(),p=x.invert,v=x.domain,D=c(".%L"),z=c(":%S"),T=c("%I:%M"),_=c("%I %p"),I=c("%a %d"),W=c("%b %d"),O=c("%B"),V=c("%Y");function P(C){return(y(C)4&&(D+=7),v.add(D,n));return z.diff(T,"week")+1},u.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var y=u.startOf;u.startOf=function(c,x){var p=this.$utils(),v=!!p.u(x)||x;return p.p(c)==="isoweek"?v?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):y.bind(this)(c,x)}}})})(Yn);var wa=Yn.exports;const Da=De(wa);var En={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,u={},y=function(T){return(T=+T)+(T>68?1900:2e3)},c=function(T){return function(_){this[T]=+_}},x=[/[+-]\d\d:?(\d\d)?|Z/,function(T){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var I=_.match(/([+-]|\d\d)/g),W=60*I[1]+(+I[2]||0);return W===0?0:I[0]==="+"?-W:W}(T)}],p=function(T){var _=u[T];return _&&(_.indexOf?_:_.s.concat(_.f))},v=function(T,_){var I,W=u.meridiem;if(W){for(var O=1;O<=24;O+=1)if(T.indexOf(W(O,0,_))>-1){I=O>12;break}}else I=T===(_?"pm":"PM");return I},D={A:[s,function(T){this.afternoon=v(T,!1)}],a:[s,function(T){this.afternoon=v(T,!0)}],S:[/\d/,function(T){this.milliseconds=100*+T}],SS:[i,function(T){this.milliseconds=10*+T}],SSS:[/\d{3}/,function(T){this.milliseconds=+T}],s:[a,c("seconds")],ss:[a,c("seconds")],m:[a,c("minutes")],mm:[a,c("minutes")],H:[a,c("hours")],h:[a,c("hours")],HH:[a,c("hours")],hh:[a,c("hours")],D:[a,c("day")],DD:[i,c("day")],Do:[s,function(T){var _=u.ordinal,I=T.match(/\d+/);if(this.day=I[0],_)for(var W=1;W<=31;W+=1)_(W).replace(/\[|\]/g,"")===T&&(this.day=W)}],M:[a,c("month")],MM:[i,c("month")],MMM:[s,function(T){var _=p("months"),I=(p("monthsShort")||_.map(function(W){return W.slice(0,3)})).indexOf(T)+1;if(I<1)throw new Error;this.month=I%12||I}],MMMM:[s,function(T){var _=p("months").indexOf(T)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(T){this.year=y(T)}],YYYY:[/\d{4}/,c("year")],Z:x,ZZ:x};function z(T){var _,I;_=T,I=u&&u.formats;for(var W=(T=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(h,g,l){var f=l&&l.toUpperCase();return g||I[l]||n[l]||I[f].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(b,o,A){return o||A.slice(1)})})).match(r),O=W.length,V=0;V-1)return new Date((B==="X"?1e3:1)*m);var j=z(B)(m),k=j.year,F=j.month,U=j.day,E=j.hours,H=j.minutes,Q=j.seconds,q=j.milliseconds,dt=j.zone,G=new Date,M=U||(k||F?1:G.getDate()),S=k||G.getFullYear(),L=0;k&&!F||(L=F>0?F-1:G.getMonth());var d=E||0,X=H||0,N=Q||0,$=q||0;return dt?new Date(Date.UTC(S,L,M,d,X,N,$+60*dt.offset*1e3)):Z?new Date(Date.UTC(S,L,M,d,X,N,$)):new Date(S,L,M,d,X,N,$)}catch{return new Date("")}}(P,w,C),this.init(),f&&f!==!0&&(this.$L=this.locale(f).$L),l&&P!=this.format(w)&&(this.$d=new Date("")),u={}}else if(w instanceof Array)for(var b=w.length,o=1;o<=b;o+=1){Y[1]=w[o-1];var A=I.apply(this,Y);if(A.isValid()){this.$d=A.$d,this.$L=A.$L,this.init();break}o===b&&(this.$d=new Date(""))}else O.call(this,V)}}})})(En);var Ca=En.exports;const Sa=De(Ca);var Ln={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(we,function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(s){var u=this,y=this.$locale();if(!this.isValid())return a.bind(this)(s);var c=this.$utils(),x=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(p){switch(p){case"Q":return Math.ceil((u.$M+1)/3);case"Do":return y.ordinal(u.$D);case"gggg":return u.weekYear();case"GGGG":return u.isoWeekYear();case"wo":return y.ordinal(u.week(),"W");case"w":case"ww":return c.s(u.week(),p==="w"?1:2,"0");case"W":case"WW":return c.s(u.isoWeek(),p==="W"?1:2,"0");case"k":case"kk":return c.s(String(u.$H===0?24:u.$H),p==="k"?1:2,"0");case"X":return Math.floor(u.$d.getTime()/1e3);case"x":return u.$d.getTime();case"z":return"["+u.offsetName()+"]";case"zzz":return"["+u.offsetName("long")+"]";default:return p}});return a.bind(this)(x)}}})})(Ln);var _a=Ln.exports;const Fa=De(_a);var Te=function(){var t=function(w,h,g,l){for(g=g||{},l=w.length;l--;g[w[l]]=h);return g},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],i=[1,15],a=[1,16],s=[1,17],u=[1,18],y=[1,19],c=[1,20],x=[1,21],p=[1,22],v=[1,23],D=[1,24],z=[1,25],T=[1,26],_=[1,27],I=[1,29],W=[1,31],O=[1,34],V=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],P={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(h,g,l,f,b,o,A){var m=o.length-1;switch(b){case 2:return o[m-1];case 3:this.$=[];break;case 4:o[m-1].push(o[m]),this.$=o[m-1];break;case 5:case 6:this.$=o[m];break;case 7:case 8:this.$=[];break;case 9:f.setDateFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 10:f.enableInclusiveEndDates(),this.$=o[m].substr(18);break;case 11:f.TopAxis(),this.$=o[m].substr(8);break;case 12:f.setAxisFormat(o[m].substr(11)),this.$=o[m].substr(11);break;case 13:f.setTickInterval(o[m].substr(13)),this.$=o[m].substr(13);break;case 14:f.setExcludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 15:f.setIncludes(o[m].substr(9)),this.$=o[m].substr(9);break;case 16:f.setTodayMarker(o[m].substr(12)),this.$=o[m].substr(12);break;case 17:f.setDiagramTitle(o[m].substr(6)),this.$=o[m].substr(6);break;case 18:this.$=o[m].trim(),f.setAccTitle(this.$);break;case 19:case 20:this.$=o[m].trim(),f.setAccDescription(this.$);break;case 21:f.addSection(o[m].substr(8)),this.$=o[m].substr(8);break;case 23:f.addTask(o[m-1],o[m]),this.$="task";break;case 27:this.$=o[m-1],f.setClickEvent(o[m-1],o[m],null);break;case 28:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],o[m]);break;case 29:this.$=o[m-2],f.setClickEvent(o[m-2],o[m-1],null),f.setLink(o[m-2],o[m]);break;case 30:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-2],o[m-1]),f.setLink(o[m-3],o[m]);break;case 31:this.$=o[m-2],f.setClickEvent(o[m-2],o[m],null),f.setLink(o[m-2],o[m-1]);break;case 32:this.$=o[m-3],f.setClickEvent(o[m-3],o[m-1],o[m]),f.setLink(o[m-3],o[m-2]);break;case 33:this.$=o[m-1],f.setLink(o[m-1],o[m]);break;case 34:case 40:this.$=o[m-1]+" "+o[m];break;case 35:case 36:case 38:this.$=o[m-2]+" "+o[m-1]+" "+o[m];break;case 37:case 39:this.$=o[m-3]+" "+o[m-2]+" "+o[m-1]+" "+o[m];break;case 41:f.parseDirective("%%{","open_directive");break;case 42:f.parseDirective(o[m],"type_directive");break;case 43:o[m]=o[m].trim().replace(/'/g,'"'),f.parseDirective(o[m],"arg_directive");break;case 44:f.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,30:4,40:n},{1:[3]},{3:6,4:2,5:e,30:4,40:n},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},{32:32,33:[1,33],43:O},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:30,10:35,12:i,13:a,14:s,15:u,16:y,17:c,18:x,19:p,20:v,21:D,23:z,25:T,26:_,27:28,28:I,30:4,35:W,40:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(V,[2,25]),{32:47,43:O},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(V,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(h,g){if(g.recoverable)this.trace(h);else{var l=new Error(h);throw l.hash=g,l}},parse:function(h){var g=this,l=[0],f=[],b=[null],o=[],A=this.table,m="",B=0,Z=0,j=2,k=1,F=o.slice.call(arguments,1),U=Object.create(this.lexer),E={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(E.yy[H]=this.yy[H]);U.setInput(h,E.yy),E.yy.lexer=U,E.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var Q=U.yylloc;o.push(Q);var q=U.options&&U.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(){var rt;return rt=f.pop()||U.lex()||k,typeof rt!="number"&&(rt instanceof Array&&(f=rt,rt=f.pop()),rt=g.symbols_[rt]||rt),rt}for(var G,M,S,L,d={},X,N,$,J;;){if(M=l[l.length-1],this.defaultActions[M]?S=this.defaultActions[M]:((G===null||typeof G>"u")&&(G=dt()),S=A[M]&&A[M][G]),typeof S>"u"||!S.length||!S[0]){var at="";J=[];for(X in A[M])this.terminals_[X]&&X>j&&J.push("'"+this.terminals_[X]+"'");U.showPosition?at="Parse error on line "+(B+1)+`: `+U.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[G]||G)+"'":at="Parse error on line "+(B+1)+": Unexpected "+(G==k?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(at,{text:U.match,token:this.terminals_[G]||G,line:U.yylineno,loc:Q,expected:J})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+G);switch(S[0]){case 1:l.push(G),b.push(U.yytext),o.push(U.yylloc),l.push(S[1]),G=null,Z=U.yyleng,m=U.yytext,B=U.yylineno,Q=U.yylloc;break;case 2:if(N=this.productions_[S[1]][1],d.$=b[b.length-N],d._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},q&&(d._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),L=this.performAction.apply(d,[m,Z,B,E.yy,S[1],b,o].concat(F)),typeof L<"u")return L;N&&(l=l.slice(0,-1*N*2),b=b.slice(0,-1*N),o=o.slice(0,-1*N)),l.push(this.productions_[S[1]][0]),b.push(d.$),o.push(d._$),$=A[l[l.length-2]][l[l.length-1]],l.push($);break;case 3:return!0}}return!0}},C=function(){var w={EOF:1,parseError:function(g,l){if(this.yy.parser)this.yy.parser.parseError(g,l);else throw new Error(g)},setInput:function(h,g){return this.yy=g||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var g=h.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},unput:function(h){var g=h.length,l=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===f.length?this.yylloc.first_column:0)+f[f.length-l.length].length-l[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(h){this.unput(this.match.slice(h))},pastInput:function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var h=this.pastInput(),g=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/_nuxt/gitGraphDiagram-0a645df6.c4cc2aaf.js b/_nuxt/gitGraphDiagram-0a645df6.9a215aa5.js similarity index 99% rename from _nuxt/gitGraphDiagram-0a645df6.c4cc2aaf.js rename to _nuxt/gitGraphDiagram-0a645df6.9a215aa5.js index 2929533349..b741dfe9bf 100644 --- a/_nuxt/gitGraphDiagram-0a645df6.c4cc2aaf.js +++ b/_nuxt/gitGraphDiagram-0a645df6.9a215aa5.js @@ -1,4 +1,4 @@ -import{c as A,s as Ae,g as Oe,a as Se,b as Ie,x as Ge,y as Pe,e as Ne,l as G,n as V,A as He,a6 as pe,i as De,z as Ve,a7 as ze,a8 as je}from"./mermaid.core.6d8597df.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";var me=function(){var r=function(B,l,u,b){for(u=u||{},b=B.length;b--;u[B[b]]=l);return u},a=[1,4],o=[1,7],h=[1,5],c=[1,9],n=[1,6],f=[2,6],p=[1,16],v=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],y=[8,14,20,22,24,25,27,29,32,37,40],m=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],_=[6,8,14,50,55],s=[8,14,55],C=[1,53],w=[1,52],H=[8,14,30,33,35,38,55],x=[1,67],g=[1,68],k=[1,69],P=[8,14,33,35,42,55],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(l,u,b,i,E,e,W){var t=e.length-1;switch(E){case 3:return e[t];case 4:return e[t-1];case 5:return i.setDirection(e[t-3]),e[t-1];case 7:i.setOptions(e[t-1]),this.$=e[t];break;case 8:e[t-1]+=e[t],this.$=e[t-1];break;case 10:this.$=[];break;case 11:e[t-1].push(e[t]),this.$=e[t-1];break;case 12:this.$=e[t-1];break;case 17:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(e[t].substr(8)),this.$=e[t].substr(8);break;case 22:i.checkout(e[t]);break;case 23:i.branch(e[t]);break;case 24:i.branch(e[t-2],e[t]);break;case 25:i.cherryPick(e[t],"",void 0);break;case 26:i.cherryPick(e[t-2],"",e[t]);break;case 27:case 29:i.cherryPick(e[t-2],"","");break;case 28:i.cherryPick(e[t],"",e[t-2]);break;case 30:i.merge(e[t],"","","");break;case 31:i.merge(e[t-2],e[t],"","");break;case 32:i.merge(e[t-2],"",e[t],"");break;case 33:i.merge(e[t-2],"","",e[t]);break;case 34:i.merge(e[t-4],e[t],"",e[t-2]);break;case 35:i.merge(e[t-4],"",e[t],e[t-2]);break;case 36:i.merge(e[t-4],"",e[t-2],e[t]);break;case 37:i.merge(e[t-4],e[t-2],e[t],"");break;case 38:i.merge(e[t-4],e[t-2],"",e[t]);break;case 39:i.merge(e[t-4],e[t],e[t-2],"");break;case 40:i.merge(e[t-6],e[t-4],e[t-2],e[t]);break;case 41:i.merge(e[t-6],e[t],e[t-4],e[t-2]);break;case 42:i.merge(e[t-6],e[t-4],e[t],e[t-2]);break;case 43:i.merge(e[t-6],e[t-2],e[t-4],e[t]);break;case 44:i.merge(e[t-6],e[t],e[t-2],e[t-4]);break;case 45:i.merge(e[t-6],e[t-2],e[t],e[t-4]);break;case 46:i.commit(e[t]);break;case 47:i.commit("","",i.commitType.NORMAL,e[t]);break;case 48:i.commit("","",e[t],"");break;case 49:i.commit("","",e[t],e[t-2]);break;case 50:i.commit("","",e[t-2],e[t]);break;case 51:i.commit("",e[t],i.commitType.NORMAL,"");break;case 52:i.commit("",e[t-2],i.commitType.NORMAL,e[t]);break;case 53:i.commit("",e[t],i.commitType.NORMAL,e[t-2]);break;case 54:i.commit("",e[t-2],e[t],"");break;case 55:i.commit("",e[t],e[t-2],"");break;case 56:i.commit("",e[t-4],e[t-2],e[t]);break;case 57:i.commit("",e[t-4],e[t],e[t-2]);break;case 58:i.commit("",e[t-2],e[t-4],e[t]);break;case 59:i.commit("",e[t],e[t-4],e[t-2]);break;case 60:i.commit("",e[t],e[t-2],e[t-4]);break;case 61:i.commit("",e[t-2],e[t],e[t-4]);break;case 62:i.commit(e[t],"",i.commitType.NORMAL,"");break;case 63:i.commit(e[t],"",i.commitType.NORMAL,e[t-2]);break;case 64:i.commit(e[t-2],"",i.commitType.NORMAL,e[t]);break;case 65:i.commit(e[t-2],"",e[t],"");break;case 66:i.commit(e[t],"",e[t-2],"");break;case 67:i.commit(e[t],e[t-2],i.commitType.NORMAL,"");break;case 68:i.commit(e[t-2],e[t],i.commitType.NORMAL,"");break;case 69:i.commit(e[t-4],"",e[t-2],e[t]);break;case 70:i.commit(e[t-4],"",e[t],e[t-2]);break;case 71:i.commit(e[t-2],"",e[t-4],e[t]);break;case 72:i.commit(e[t],"",e[t-4],e[t-2]);break;case 73:i.commit(e[t],"",e[t-2],e[t-4]);break;case 74:i.commit(e[t-2],"",e[t],e[t-4]);break;case 75:i.commit(e[t-4],e[t],e[t-2],"");break;case 76:i.commit(e[t-4],e[t-2],e[t],"");break;case 77:i.commit(e[t-2],e[t],e[t-4],"");break;case 78:i.commit(e[t],e[t-2],e[t-4],"");break;case 79:i.commit(e[t],e[t-4],e[t-2],"");break;case 80:i.commit(e[t-2],e[t-4],e[t],"");break;case 81:i.commit(e[t-4],e[t],i.commitType.NORMAL,e[t-2]);break;case 82:i.commit(e[t-4],e[t-2],i.commitType.NORMAL,e[t]);break;case 83:i.commit(e[t-2],e[t],i.commitType.NORMAL,e[t-4]);break;case 84:i.commit(e[t],e[t-2],i.commitType.NORMAL,e[t-4]);break;case 85:i.commit(e[t],e[t-4],i.commitType.NORMAL,e[t-2]);break;case 86:i.commit(e[t-2],e[t-4],i.commitType.NORMAL,e[t]);break;case 87:i.commit(e[t-6],e[t-4],e[t-2],e[t]);break;case 88:i.commit(e[t-6],e[t-4],e[t],e[t-2]);break;case 89:i.commit(e[t-6],e[t-2],e[t-4],e[t]);break;case 90:i.commit(e[t-6],e[t],e[t-4],e[t-2]);break;case 91:i.commit(e[t-6],e[t-2],e[t],e[t-4]);break;case 92:i.commit(e[t-6],e[t],e[t-2],e[t-4]);break;case 93:i.commit(e[t-4],e[t-6],e[t-2],e[t]);break;case 94:i.commit(e[t-4],e[t-6],e[t],e[t-2]);break;case 95:i.commit(e[t-2],e[t-6],e[t-4],e[t]);break;case 96:i.commit(e[t],e[t-6],e[t-4],e[t-2]);break;case 97:i.commit(e[t-2],e[t-6],e[t],e[t-4]);break;case 98:i.commit(e[t],e[t-6],e[t-2],e[t-4]);break;case 99:i.commit(e[t],e[t-4],e[t-2],e[t-6]);break;case 100:i.commit(e[t-2],e[t-4],e[t],e[t-6]);break;case 101:i.commit(e[t],e[t-2],e[t-4],e[t-6]);break;case 102:i.commit(e[t-2],e[t],e[t-4],e[t-6]);break;case 103:i.commit(e[t-4],e[t-2],e[t],e[t-6]);break;case 104:i.commit(e[t-4],e[t],e[t-2],e[t-6]);break;case 105:i.commit(e[t-2],e[t-4],e[t-6],e[t]);break;case 106:i.commit(e[t],e[t-4],e[t-6],e[t-2]);break;case 107:i.commit(e[t-2],e[t],e[t-6],e[t-4]);break;case 108:i.commit(e[t],e[t-2],e[t-6],e[t-4]);break;case 109:i.commit(e[t-4],e[t-2],e[t-6],e[t]);break;case 110:i.commit(e[t-4],e[t],e[t-6],e[t-2]);break;case 111:this.$="";break;case 112:this.$=e[t];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(e[t],"type_directive");break;case 120:e[t]=e[t].trim().replace(/'/g,'"'),i.parseDirective(e[t],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{1:[3]},{3:10,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{3:11,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{7:12,8:f,9:[1,13],10:[1,14],11:15,14:p},r(v,[2,124]),r(v,[2,125]),r(v,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:f,11:15,14:p},{9:[1,21]},r(y,[2,10],{12:22,13:[1,23]}),r(m,[2,9]),{9:[1,25],48:24,53:d},r([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:f,11:15,14:p},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},r(m,[2,8]),r(_,[2,116]),{49:45,52:[1,46]},r(_,[2,121]),{1:[2,4]},{8:[1,47]},r(y,[2,11]),{4:48,8:o,14:h,55:n},r(y,[2,13]),r(s,[2,14]),r(s,[2,15]),r(s,[2,16]),{21:[1,49]},{23:[1,50]},r(s,[2,19]),r(s,[2,20]),r(s,[2,21]),{28:51,34:C,54:w},r(s,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:C,54:w},{33:[1,61],35:[1,62]},{28:63,34:C,54:w},{48:64,53:d},{53:[2,120]},{1:[2,5]},r(y,[2,12]),r(s,[2,17]),r(s,[2,18]),r(s,[2,22]),r(H,[2,122]),r(H,[2,123]),r(s,[2,46]),{34:[1,65]},{39:66,43:x,44:g,45:k},{34:[1,70]},{34:[1,71]},r(s,[2,112]),r(s,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},r(s,[2,23],{30:[1,78]}),r(_,[2,117]),r(s,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),r(s,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),r(P,[2,113]),r(P,[2,114]),r(P,[2,115]),r(s,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),r(s,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:x,44:g,45:k},{34:[1,93]},r(s,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:x,44:g,45:k},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:x,44:g,45:k},{34:[1,106]},{34:[1,107]},{39:108,43:x,44:g,45:k},{34:[1,109]},r(s,[2,31],{35:[1,111],38:[1,110]}),r(s,[2,32],{33:[1,113],35:[1,112]}),r(s,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},r(s,[2,24]),r(s,[2,49],{33:[1,120],42:[1,121]}),r(s,[2,53],{38:[1,122],42:[1,123]}),r(s,[2,63],{33:[1,125],38:[1,124]}),r(s,[2,50],{33:[1,126],42:[1,127]}),r(s,[2,55],{35:[1,128],42:[1,129]}),r(s,[2,66],{33:[1,131],35:[1,130]}),r(s,[2,52],{38:[1,132],42:[1,133]}),r(s,[2,54],{35:[1,134],42:[1,135]}),r(s,[2,67],{35:[1,137],38:[1,136]}),r(s,[2,64],{33:[1,139],38:[1,138]}),r(s,[2,65],{33:[1,141],35:[1,140]}),r(s,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:x,44:g,45:k},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:x,44:g,45:k},r(s,[2,26]),r(s,[2,27]),r(s,[2,28]),r(s,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:x,44:g,45:k},{34:[1,153]},{39:154,43:x,44:g,45:k},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:x,44:g,45:k},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:x,44:g,45:k},{34:[1,167]},{39:168,43:x,44:g,45:k},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:x,44:g,45:k},{34:[1,173]},r(s,[2,37],{35:[1,174]}),r(s,[2,38],{38:[1,175]}),r(s,[2,36],{33:[1,176]}),r(s,[2,39],{35:[1,177]}),r(s,[2,34],{38:[1,178]}),r(s,[2,35],{33:[1,179]}),r(s,[2,60],{42:[1,180]}),r(s,[2,73],{33:[1,181]}),r(s,[2,61],{42:[1,182]}),r(s,[2,84],{38:[1,183]}),r(s,[2,74],{33:[1,184]}),r(s,[2,83],{38:[1,185]}),r(s,[2,59],{42:[1,186]}),r(s,[2,72],{33:[1,187]}),r(s,[2,58],{42:[1,188]}),r(s,[2,78],{35:[1,189]}),r(s,[2,71],{33:[1,190]}),r(s,[2,77],{35:[1,191]}),r(s,[2,57],{42:[1,192]}),r(s,[2,85],{38:[1,193]}),r(s,[2,56],{42:[1,194]}),r(s,[2,79],{35:[1,195]}),r(s,[2,80],{35:[1,196]}),r(s,[2,86],{38:[1,197]}),r(s,[2,70],{33:[1,198]}),r(s,[2,81],{38:[1,199]}),r(s,[2,69],{33:[1,200]}),r(s,[2,75],{35:[1,201]}),r(s,[2,76],{35:[1,202]}),r(s,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:x,44:g,45:k},{34:[1,206]},{34:[1,207]},{39:208,43:x,44:g,45:k},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:x,44:g,45:k},{34:[1,214]},{39:215,43:x,44:g,45:k},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:x,44:g,45:k},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:x,44:g,45:k},{34:[1,228]},{39:229,43:x,44:g,45:k},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:x,44:g,45:k},r(s,[2,40]),r(s,[2,42]),r(s,[2,41]),r(s,[2,43]),r(s,[2,45]),r(s,[2,44]),r(s,[2,101]),r(s,[2,102]),r(s,[2,99]),r(s,[2,100]),r(s,[2,104]),r(s,[2,103]),r(s,[2,108]),r(s,[2,107]),r(s,[2,106]),r(s,[2,105]),r(s,[2,110]),r(s,[2,109]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94]),r(s,[2,92]),r(s,[2,91]),r(s,[2,90]),r(s,[2,89]),r(s,[2,87]),r(s,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(l,u){if(u.recoverable)this.trace(l);else{var b=new Error(l);throw b.hash=u,b}},parse:function(l){var u=this,b=[0],i=[],E=[null],e=[],W=this.table,t="",Z=0,be=0,Re=2,ge=1,Ce=e.slice.call(arguments,1),L=Object.create(this.lexer),q={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(q.yy[ne]=this.yy[ne]);L.setInput(l,q.yy),q.yy.lexer=L,q.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var oe=L.yylloc;e.push(oe);var Le=L.options&&L.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var j;return j=i.pop()||L.lex()||ge,typeof j!="number"&&(j instanceof Array&&(i=j,j=i.pop()),j=u.symbols_[j]||j),j}for(var S,Y,D,le,U={},$,z,de,ee;;){if(Y=b[b.length-1],this.defaultActions[Y]?D=this.defaultActions[Y]:((S===null||typeof S>"u")&&(S=Me()),D=W[Y]&&W[Y][S]),typeof D>"u"||!D.length||!D[0]){var he="";ee=[];for($ in W[Y])this.terminals_[$]&&$>Re&&ee.push("'"+this.terminals_[$]+"'");L.showPosition?he="Parse error on line "+(Z+1)+`: +import{c as A,s as Ae,g as Oe,a as Se,b as Ie,x as Ge,y as Pe,e as Ne,l as G,n as V,A as He,a6 as pe,i as De,z as Ve,a7 as ze,a8 as je}from"./mermaid.core.bd97f718.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";var me=function(){var r=function(B,l,u,b){for(u=u||{},b=B.length;b--;u[B[b]]=l);return u},a=[1,4],o=[1,7],h=[1,5],c=[1,9],n=[1,6],f=[2,6],p=[1,16],v=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],y=[8,14,20,22,24,25,27,29,32,37,40],m=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],_=[6,8,14,50,55],s=[8,14,55],C=[1,53],w=[1,52],H=[8,14,30,33,35,38,55],x=[1,67],g=[1,68],k=[1,69],P=[8,14,33,35,42,55],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(l,u,b,i,E,e,W){var t=e.length-1;switch(E){case 3:return e[t];case 4:return e[t-1];case 5:return i.setDirection(e[t-3]),e[t-1];case 7:i.setOptions(e[t-1]),this.$=e[t];break;case 8:e[t-1]+=e[t],this.$=e[t-1];break;case 10:this.$=[];break;case 11:e[t-1].push(e[t]),this.$=e[t-1];break;case 12:this.$=e[t-1];break;case 17:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(e[t].substr(8)),this.$=e[t].substr(8);break;case 22:i.checkout(e[t]);break;case 23:i.branch(e[t]);break;case 24:i.branch(e[t-2],e[t]);break;case 25:i.cherryPick(e[t],"",void 0);break;case 26:i.cherryPick(e[t-2],"",e[t]);break;case 27:case 29:i.cherryPick(e[t-2],"","");break;case 28:i.cherryPick(e[t],"",e[t-2]);break;case 30:i.merge(e[t],"","","");break;case 31:i.merge(e[t-2],e[t],"","");break;case 32:i.merge(e[t-2],"",e[t],"");break;case 33:i.merge(e[t-2],"","",e[t]);break;case 34:i.merge(e[t-4],e[t],"",e[t-2]);break;case 35:i.merge(e[t-4],"",e[t],e[t-2]);break;case 36:i.merge(e[t-4],"",e[t-2],e[t]);break;case 37:i.merge(e[t-4],e[t-2],e[t],"");break;case 38:i.merge(e[t-4],e[t-2],"",e[t]);break;case 39:i.merge(e[t-4],e[t],e[t-2],"");break;case 40:i.merge(e[t-6],e[t-4],e[t-2],e[t]);break;case 41:i.merge(e[t-6],e[t],e[t-4],e[t-2]);break;case 42:i.merge(e[t-6],e[t-4],e[t],e[t-2]);break;case 43:i.merge(e[t-6],e[t-2],e[t-4],e[t]);break;case 44:i.merge(e[t-6],e[t],e[t-2],e[t-4]);break;case 45:i.merge(e[t-6],e[t-2],e[t],e[t-4]);break;case 46:i.commit(e[t]);break;case 47:i.commit("","",i.commitType.NORMAL,e[t]);break;case 48:i.commit("","",e[t],"");break;case 49:i.commit("","",e[t],e[t-2]);break;case 50:i.commit("","",e[t-2],e[t]);break;case 51:i.commit("",e[t],i.commitType.NORMAL,"");break;case 52:i.commit("",e[t-2],i.commitType.NORMAL,e[t]);break;case 53:i.commit("",e[t],i.commitType.NORMAL,e[t-2]);break;case 54:i.commit("",e[t-2],e[t],"");break;case 55:i.commit("",e[t],e[t-2],"");break;case 56:i.commit("",e[t-4],e[t-2],e[t]);break;case 57:i.commit("",e[t-4],e[t],e[t-2]);break;case 58:i.commit("",e[t-2],e[t-4],e[t]);break;case 59:i.commit("",e[t],e[t-4],e[t-2]);break;case 60:i.commit("",e[t],e[t-2],e[t-4]);break;case 61:i.commit("",e[t-2],e[t],e[t-4]);break;case 62:i.commit(e[t],"",i.commitType.NORMAL,"");break;case 63:i.commit(e[t],"",i.commitType.NORMAL,e[t-2]);break;case 64:i.commit(e[t-2],"",i.commitType.NORMAL,e[t]);break;case 65:i.commit(e[t-2],"",e[t],"");break;case 66:i.commit(e[t],"",e[t-2],"");break;case 67:i.commit(e[t],e[t-2],i.commitType.NORMAL,"");break;case 68:i.commit(e[t-2],e[t],i.commitType.NORMAL,"");break;case 69:i.commit(e[t-4],"",e[t-2],e[t]);break;case 70:i.commit(e[t-4],"",e[t],e[t-2]);break;case 71:i.commit(e[t-2],"",e[t-4],e[t]);break;case 72:i.commit(e[t],"",e[t-4],e[t-2]);break;case 73:i.commit(e[t],"",e[t-2],e[t-4]);break;case 74:i.commit(e[t-2],"",e[t],e[t-4]);break;case 75:i.commit(e[t-4],e[t],e[t-2],"");break;case 76:i.commit(e[t-4],e[t-2],e[t],"");break;case 77:i.commit(e[t-2],e[t],e[t-4],"");break;case 78:i.commit(e[t],e[t-2],e[t-4],"");break;case 79:i.commit(e[t],e[t-4],e[t-2],"");break;case 80:i.commit(e[t-2],e[t-4],e[t],"");break;case 81:i.commit(e[t-4],e[t],i.commitType.NORMAL,e[t-2]);break;case 82:i.commit(e[t-4],e[t-2],i.commitType.NORMAL,e[t]);break;case 83:i.commit(e[t-2],e[t],i.commitType.NORMAL,e[t-4]);break;case 84:i.commit(e[t],e[t-2],i.commitType.NORMAL,e[t-4]);break;case 85:i.commit(e[t],e[t-4],i.commitType.NORMAL,e[t-2]);break;case 86:i.commit(e[t-2],e[t-4],i.commitType.NORMAL,e[t]);break;case 87:i.commit(e[t-6],e[t-4],e[t-2],e[t]);break;case 88:i.commit(e[t-6],e[t-4],e[t],e[t-2]);break;case 89:i.commit(e[t-6],e[t-2],e[t-4],e[t]);break;case 90:i.commit(e[t-6],e[t],e[t-4],e[t-2]);break;case 91:i.commit(e[t-6],e[t-2],e[t],e[t-4]);break;case 92:i.commit(e[t-6],e[t],e[t-2],e[t-4]);break;case 93:i.commit(e[t-4],e[t-6],e[t-2],e[t]);break;case 94:i.commit(e[t-4],e[t-6],e[t],e[t-2]);break;case 95:i.commit(e[t-2],e[t-6],e[t-4],e[t]);break;case 96:i.commit(e[t],e[t-6],e[t-4],e[t-2]);break;case 97:i.commit(e[t-2],e[t-6],e[t],e[t-4]);break;case 98:i.commit(e[t],e[t-6],e[t-2],e[t-4]);break;case 99:i.commit(e[t],e[t-4],e[t-2],e[t-6]);break;case 100:i.commit(e[t-2],e[t-4],e[t],e[t-6]);break;case 101:i.commit(e[t],e[t-2],e[t-4],e[t-6]);break;case 102:i.commit(e[t-2],e[t],e[t-4],e[t-6]);break;case 103:i.commit(e[t-4],e[t-2],e[t],e[t-6]);break;case 104:i.commit(e[t-4],e[t],e[t-2],e[t-6]);break;case 105:i.commit(e[t-2],e[t-4],e[t-6],e[t]);break;case 106:i.commit(e[t],e[t-4],e[t-6],e[t-2]);break;case 107:i.commit(e[t-2],e[t],e[t-6],e[t-4]);break;case 108:i.commit(e[t],e[t-2],e[t-6],e[t-4]);break;case 109:i.commit(e[t-4],e[t-2],e[t-6],e[t]);break;case 110:i.commit(e[t-4],e[t],e[t-6],e[t-2]);break;case 111:this.$="";break;case 112:this.$=e[t];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(e[t],"type_directive");break;case 120:e[t]=e[t].trim().replace(/'/g,'"'),i.parseDirective(e[t],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{1:[3]},{3:10,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{3:11,4:2,5:3,6:a,8:o,14:h,46:8,50:c,55:n},{7:12,8:f,9:[1,13],10:[1,14],11:15,14:p},r(v,[2,124]),r(v,[2,125]),r(v,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:f,11:15,14:p},{9:[1,21]},r(y,[2,10],{12:22,13:[1,23]}),r(m,[2,9]),{9:[1,25],48:24,53:d},r([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:f,11:15,14:p},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},r(m,[2,8]),r(_,[2,116]),{49:45,52:[1,46]},r(_,[2,121]),{1:[2,4]},{8:[1,47]},r(y,[2,11]),{4:48,8:o,14:h,55:n},r(y,[2,13]),r(s,[2,14]),r(s,[2,15]),r(s,[2,16]),{21:[1,49]},{23:[1,50]},r(s,[2,19]),r(s,[2,20]),r(s,[2,21]),{28:51,34:C,54:w},r(s,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:C,54:w},{33:[1,61],35:[1,62]},{28:63,34:C,54:w},{48:64,53:d},{53:[2,120]},{1:[2,5]},r(y,[2,12]),r(s,[2,17]),r(s,[2,18]),r(s,[2,22]),r(H,[2,122]),r(H,[2,123]),r(s,[2,46]),{34:[1,65]},{39:66,43:x,44:g,45:k},{34:[1,70]},{34:[1,71]},r(s,[2,112]),r(s,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},r(s,[2,23],{30:[1,78]}),r(_,[2,117]),r(s,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),r(s,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),r(P,[2,113]),r(P,[2,114]),r(P,[2,115]),r(s,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),r(s,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:x,44:g,45:k},{34:[1,93]},r(s,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:x,44:g,45:k},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:x,44:g,45:k},{34:[1,106]},{34:[1,107]},{39:108,43:x,44:g,45:k},{34:[1,109]},r(s,[2,31],{35:[1,111],38:[1,110]}),r(s,[2,32],{33:[1,113],35:[1,112]}),r(s,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},r(s,[2,24]),r(s,[2,49],{33:[1,120],42:[1,121]}),r(s,[2,53],{38:[1,122],42:[1,123]}),r(s,[2,63],{33:[1,125],38:[1,124]}),r(s,[2,50],{33:[1,126],42:[1,127]}),r(s,[2,55],{35:[1,128],42:[1,129]}),r(s,[2,66],{33:[1,131],35:[1,130]}),r(s,[2,52],{38:[1,132],42:[1,133]}),r(s,[2,54],{35:[1,134],42:[1,135]}),r(s,[2,67],{35:[1,137],38:[1,136]}),r(s,[2,64],{33:[1,139],38:[1,138]}),r(s,[2,65],{33:[1,141],35:[1,140]}),r(s,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:x,44:g,45:k},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:x,44:g,45:k},r(s,[2,26]),r(s,[2,27]),r(s,[2,28]),r(s,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:x,44:g,45:k},{34:[1,153]},{39:154,43:x,44:g,45:k},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:x,44:g,45:k},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:x,44:g,45:k},{34:[1,167]},{39:168,43:x,44:g,45:k},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:x,44:g,45:k},{34:[1,173]},r(s,[2,37],{35:[1,174]}),r(s,[2,38],{38:[1,175]}),r(s,[2,36],{33:[1,176]}),r(s,[2,39],{35:[1,177]}),r(s,[2,34],{38:[1,178]}),r(s,[2,35],{33:[1,179]}),r(s,[2,60],{42:[1,180]}),r(s,[2,73],{33:[1,181]}),r(s,[2,61],{42:[1,182]}),r(s,[2,84],{38:[1,183]}),r(s,[2,74],{33:[1,184]}),r(s,[2,83],{38:[1,185]}),r(s,[2,59],{42:[1,186]}),r(s,[2,72],{33:[1,187]}),r(s,[2,58],{42:[1,188]}),r(s,[2,78],{35:[1,189]}),r(s,[2,71],{33:[1,190]}),r(s,[2,77],{35:[1,191]}),r(s,[2,57],{42:[1,192]}),r(s,[2,85],{38:[1,193]}),r(s,[2,56],{42:[1,194]}),r(s,[2,79],{35:[1,195]}),r(s,[2,80],{35:[1,196]}),r(s,[2,86],{38:[1,197]}),r(s,[2,70],{33:[1,198]}),r(s,[2,81],{38:[1,199]}),r(s,[2,69],{33:[1,200]}),r(s,[2,75],{35:[1,201]}),r(s,[2,76],{35:[1,202]}),r(s,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:x,44:g,45:k},{34:[1,206]},{34:[1,207]},{39:208,43:x,44:g,45:k},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:x,44:g,45:k},{34:[1,214]},{39:215,43:x,44:g,45:k},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:x,44:g,45:k},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:x,44:g,45:k},{34:[1,228]},{39:229,43:x,44:g,45:k},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:x,44:g,45:k},r(s,[2,40]),r(s,[2,42]),r(s,[2,41]),r(s,[2,43]),r(s,[2,45]),r(s,[2,44]),r(s,[2,101]),r(s,[2,102]),r(s,[2,99]),r(s,[2,100]),r(s,[2,104]),r(s,[2,103]),r(s,[2,108]),r(s,[2,107]),r(s,[2,106]),r(s,[2,105]),r(s,[2,110]),r(s,[2,109]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94]),r(s,[2,92]),r(s,[2,91]),r(s,[2,90]),r(s,[2,89]),r(s,[2,87]),r(s,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(l,u){if(u.recoverable)this.trace(l);else{var b=new Error(l);throw b.hash=u,b}},parse:function(l){var u=this,b=[0],i=[],E=[null],e=[],W=this.table,t="",Z=0,be=0,Re=2,ge=1,Ce=e.slice.call(arguments,1),L=Object.create(this.lexer),q={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(q.yy[ne]=this.yy[ne]);L.setInput(l,q.yy),q.yy.lexer=L,q.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var oe=L.yylloc;e.push(oe);var Le=L.options&&L.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var j;return j=i.pop()||L.lex()||ge,typeof j!="number"&&(j instanceof Array&&(i=j,j=i.pop()),j=u.symbols_[j]||j),j}for(var S,Y,D,le,U={},$,z,de,ee;;){if(Y=b[b.length-1],this.defaultActions[Y]?D=this.defaultActions[Y]:((S===null||typeof S>"u")&&(S=Me()),D=W[Y]&&W[Y][S]),typeof D>"u"||!D.length||!D[0]){var he="";ee=[];for($ in W[Y])this.terminals_[$]&&$>Re&&ee.push("'"+this.terminals_[$]+"'");L.showPosition?he="Parse error on line "+(Z+1)+`: `+L.showPosition()+` Expecting `+ee.join(", ")+", got '"+(this.terminals_[S]||S)+"'":he="Parse error on line "+(Z+1)+": Unexpected "+(S==ge?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(he,{text:L.match,token:this.terminals_[S]||S,line:L.yylineno,loc:oe,expected:ee})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+S);switch(D[0]){case 1:b.push(S),E.push(L.yytext),e.push(L.yylloc),b.push(D[1]),S=null,be=L.yyleng,t=L.yytext,Z=L.yylineno,oe=L.yylloc;break;case 2:if(z=this.productions_[D[1]][1],U.$=E[E.length-z],U._$={first_line:e[e.length-(z||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(z||1)].first_column,last_column:e[e.length-1].last_column},Le&&(U._$.range=[e[e.length-(z||1)].range[0],e[e.length-1].range[1]]),le=this.performAction.apply(U,[t,be,Z,q.yy,D[1],E,e].concat(Ce)),typeof le<"u")return le;z&&(b=b.slice(0,-1*z*2),E=E.slice(0,-1*z),e=e.slice(0,-1*z)),b.push(this.productions_[D[1]][0]),E.push(U.$),e.push(U._$),de=W[b[b.length-2]][b[b.length-1]],b.push(de);break;case 3:return!0}}return!0}},Te=function(){var B={EOF:1,parseError:function(u,b){if(this.yy.parser)this.yy.parser.parseError(u,b);else throw new Error(u)},setInput:function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},unput:function(l){var u=l.length,b=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===i.length?this.yylloc.first_column:0)+i[i.length-b.length].length-b[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(l){this.unput(this.match.slice(l))},pastInput:function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/_nuxt/index-5219d011.c6c2c006.js b/_nuxt/index-5219d011.3b2aa214.js similarity index 97% rename from _nuxt/index-5219d011.c6c2c006.js rename to _nuxt/index-5219d011.3b2aa214.js index 4888ff35ef..41e89f9c96 100644 --- a/_nuxt/index-5219d011.c6c2c006.js +++ b/_nuxt/index-5219d011.3b2aa214.js @@ -1 +1 @@ -import{b as $,a as y,m as D,G,l as j}from"./layout.e490e9ef.js";import{i as A,u as M,s as _,a as H,b as V,p as B,c as U,d as W,e as Y,f as q,g as O,h as X}from"./edges-2e77835f.ce02d1cb.js";import{l as i,r as N,c as E,i as L}from"./mermaid.core.6d8597df.js";import{c as z}from"./createText-1f5f8f92.2cd7eed0.js";var K=4;function Q(e){return $(e,K)}function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Z(e),edges:I(e)};return y(e.graph())||(t.value=Q(e.graph())),t}function Z(e){return D(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return y(n)||(s.value=n),y(r)||(s.parent=r),s})}function I(e){return D(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return y(t.name)||(r.name=t.name),y(n)||(r.value=n),r})}let f={},x={},T={};const tt=()=>{x={},T={},f={}},S=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),et=(e,t)=>(i.info("Decendants of ",t," is ",x[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||S(e.v,t)||S(e.w,t)||x[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),J=(e,t,n,r)=>{i.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)J(a,t,n,r);else{const h=t.node(a);i.info("cp ",a," to ",r," with parent ",e),n.setNode(a,h),r!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const l=t.edges(a);i.debug("Copying Edges",l),l.forEach(d=>{i.info("Edge",d);const w=t.edge(d.v,d.w,d.name);i.info("Edge data",w,r);try{et(d,r)?(i.info("Copying as ",d.v,d.w,w,d.name),n.setEdge(d.v,d.w,w,d.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch(g){i.error(g)}})}i.debug("Removing node",a),t.removeNode(a)})},R=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)T[s]=e,r=[...r,...R(s,t)];return r},b=(e,t)=>{i.trace("Searching",e);const n=t.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return i.trace("This is a valid node",e),e;for(const r of n){const s=b(r,t);if(s)return i.trace("Found replacement for",e," => ",s),s}},m=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,nt=(e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",b(n,e)),x[n]=R(n,e),f[n]={id:b(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.debug("Cluster identified",n,x),s.forEach(a=>{if(a.v!==n&&a.w!==n){const h=S(a.v,n),l=S(a.w,n);h^l&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",x[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,x)}),e.edges().forEach(function(n){const r=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f[n.v]," --- ",f[n.w]),f[n.v]&&f[n.w]&&f[n.v]===f[n.w]){i.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name);const h=n.w+"---"+n.v;e.setNode(h,{domId:h,id:h,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=JSON.parse(JSON.stringify(r)),d=JSON.parse(JSON.stringify(r));l.label="",l.arrowTypeEnd="none",d.label="",l.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,h,l,n.name+"-cyclic-special"),e.setEdge(h,a,d,n.name+"-cyclic-special")}else(f[n.v]||f[n.w])&&(i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),a!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,a,n.name),e.setEdge(s,a,r,n.name))}),i.warn("Adjusted Graph",v(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,v(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const a=e.children(s);r=r||a.length>0}if(!r){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const s of n)if(i.debug("Extracting node",s,f,f[s]&&!f[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!f[s])i.debug("Not a cluster",s,t);else if(!f[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let h=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(h=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,h));const l=new G({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",v(e)),J(s,e,l,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:f[s].clusterData,labelText:f[s].labelText,graph:l}),i.warn("New graph after copy node: (",s,")",v(l)),i.debug("Old graph after copy",v(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!f[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const s of n){const a=e.node(s);i.warn(" Now next level",s,a),a.clusterNode&&p(a.graph,t+1)}},P=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),a=P(e,s);n=[...n,...a]}),n},it=e=>P(e,e.children()),st=(e,t)=>{i.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),s=N(E().flowchart.htmlLabels),a=n.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?z(a,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):a.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}const d=0*t.padding,w=d/2,g=t.width<=l.width+d?l.width+d:t.width;t.width<=l.width+d?t.diff=(l.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-g/2).attr("y",t.y-t.height/2-w).attr("width",g).attr("height",t.height+d),s?a.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):a.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const c=r.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(o){return X(t,o)},n},rt=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.intersect=function(l){return X(t,l)},n},at=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),h=s.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=h.getBBox();const d=0*t.padding,w=d/2,g=t.width<=l.width+t.padding?l.width+t.padding:t.width;t.width<=l.width+t.padding?t.diff=(l.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w).attr("width",g+d).attr("height",t.height+d),a.attr("class","inner").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w+l.height-1).attr("width",g+d).attr("height",t.height+d-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(E().flowchart.htmlLabels)?5:3))+")");const c=r.node().getBBox();return t.height=c.height,t.intersect=function(o){return X(t,o)},n},ct=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.diff=-t.padding/2,t.intersect=function(l){return X(t,l)},n},ot={rect:st,roundedWithTitle:at,noteGroup:rt,divider:ct};let F={};const lt=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";F[t.id]=ot[n](e,t)},ft=()=>{F={}},k=(e,t,n,r)=>{i.info("Graph in recursive render: XXX",v(t),r);const s=t.graph().rankdir;i.trace("Dir in recursive render - dir:",s);const a=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.trace("Recursive edges",t.edge(t.edges()[0]));const h=a.insert("g").attr("class","clusters"),l=a.insert("g").attr("class","edgePaths"),d=a.insert("g").attr("class","edgeLabels"),w=a.insert("g").attr("class","nodes");t.nodes().forEach(function(c){const o=t.node(c);if(r!==void 0){const u=JSON.parse(JSON.stringify(r.clusterData));i.info("Setting data for cluster XXX (",c,") ",u,r),t.setNode(r.id,u),t.parent(c)||(i.trace("Setting parent",c,r.id),t.setParent(c,r.id,u))}if(i.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){i.info("Cluster identified",c,o.width,t.node(c));const u=k(w,o.graph,n,t.node(c)),C=u.elem;M(o,C),o.diff=u.diff||0,i.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(C,o),i.warn("Recursive render complete ",C,o)}else t.children(c).length>0?(i.info("Cluster - the non recursive path XXX",c,o.id,o,t),i.info(b(o.id,t)),f[o.id]={id:b(o.id,t),node:o}):(i.info("Node - the non recursive path",c,o.id,o),H(w,t.node(c),s))}),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),i.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),i.info("Fix",f,"ids:",c.v,c.w,"Translateing: ",f[c.v],f[c.w]),V(d,o)}),t.edges().forEach(function(c){i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),j(t),i.info("Graph after layout:",v(t));let g=0;return it(t).forEach(function(c){const o=t.node(c);i.info("Position "+c+": "+JSON.stringify(t.node(c))),i.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?B(o):t.children(c).length>0?(lt(h,o),f[o.id].node=o):B(o)}),t.edges().forEach(function(c){const o=t.edge(c);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o);const u=U(l,c,o,f,n,t);W(o,u)}),t.nodes().forEach(function(c){const o=t.node(c);i.info(c,o.type,o.diff),o.type==="group"&&(g=o.diff)}),{elem:a,diff:g}},gt=(e,t,n,r,s)=>{A(e,n,r,s),Y(),q(),ft(),tt(),i.warn("Graph at first:",v(t)),nt(t),i.warn("Graph after:",v(t)),k(e,t,r)};export{gt as r}; +import{b as $,a as y,m as D,G,l as j}from"./layout.11303474.js";import{i as A,u as M,s as _,a as H,b as V,p as B,c as U,d as W,e as Y,f as q,g as O,h as X}from"./edges-2e77835f.ec894958.js";import{l as i,r as N,c as E,i as L}from"./mermaid.core.bd97f718.js";import{c as z}from"./createText-1f5f8f92.9af55188.js";var K=4;function Q(e){return $(e,K)}function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Z(e),edges:I(e)};return y(e.graph())||(t.value=Q(e.graph())),t}function Z(e){return D(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return y(n)||(s.value=n),y(r)||(s.parent=r),s})}function I(e){return D(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return y(t.name)||(r.name=t.name),y(n)||(r.value=n),r})}let f={},x={},T={};const tt=()=>{x={},T={},f={}},S=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),et=(e,t)=>(i.info("Decendants of ",t," is ",x[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||S(e.v,t)||S(e.w,t)||x[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),J=(e,t,n,r)=>{i.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(a=>{if(t.children(a).length>0)J(a,t,n,r);else{const h=t.node(a);i.info("cp ",a," to ",r," with parent ",e),n.setNode(a,h),r!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const l=t.edges(a);i.debug("Copying Edges",l),l.forEach(d=>{i.info("Edge",d);const w=t.edge(d.v,d.w,d.name);i.info("Edge data",w,r);try{et(d,r)?(i.info("Copying as ",d.v,d.w,w,d.name),n.setEdge(d.v,d.w,w,d.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch(g){i.error(g)}})}i.debug("Removing node",a),t.removeNode(a)})},R=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)T[s]=e,r=[...r,...R(s,t)];return r},b=(e,t)=>{i.trace("Searching",e);const n=t.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return i.trace("This is a valid node",e),e;for(const r of n){const s=b(r,t);if(s)return i.trace("Found replacement for",e," => ",s),s}},m=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,nt=(e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",b(n,e)),x[n]=R(n,e),f[n]={id:b(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.debug("Cluster identified",n,x),s.forEach(a=>{if(a.v!==n&&a.w!==n){const h=S(a.v,n),l=S(a.w,n);h^l&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",x[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,x)}),e.edges().forEach(function(n){const r=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f[n.v]," --- ",f[n.w]),f[n.v]&&f[n.w]&&f[n.v]===f[n.w]){i.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name);const h=n.w+"---"+n.v;e.setNode(h,{domId:h,id:h,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=JSON.parse(JSON.stringify(r)),d=JSON.parse(JSON.stringify(r));l.label="",l.arrowTypeEnd="none",d.label="",l.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,h,l,n.name+"-cyclic-special"),e.setEdge(h,a,d,n.name+"-cyclic-special")}else(f[n.v]||f[n.w])&&(i.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=m(n.v),a=m(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),a!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,a,n.name),e.setEdge(s,a,r,n.name))}),i.warn("Adjusted Graph",v(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,v(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const a=e.children(s);r=r||a.length>0}if(!r){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const s of n)if(i.debug("Extracting node",s,f,f[s]&&!f[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!f[s])i.debug("Not a cluster",s,t);else if(!f[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let h=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(h=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,h));const l=new G({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",v(e)),J(s,e,l,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:f[s].clusterData,labelText:f[s].labelText,graph:l}),i.warn("New graph after copy node: (",s,")",v(l)),i.debug("Old graph after copy",v(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!f[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const s of n){const a=e.node(s);i.warn(" Now next level",s,a),a.clusterNode&&p(a.graph,t+1)}},P=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),a=P(e,s);n=[...n,...a]}),n},it=e=>P(e,e.children()),st=(e,t)=>{i.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),s=N(E().flowchart.htmlLabels),a=n.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?z(a,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):a.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}const d=0*t.padding,w=d/2,g=t.width<=l.width+d?l.width+d:t.width;t.width<=l.width+d?t.diff=(l.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-g/2).attr("y",t.y-t.height/2-w).attr("width",g).attr("height",t.height+d),s?a.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):a.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const c=r.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(o){return X(t,o)},n},rt=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.intersect=function(l){return X(t,l)},n},at=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),h=s.node().appendChild(O(t.labelText,t.labelStyle,void 0,!0));let l=h.getBBox();if(N(E().flowchart.htmlLabels)){const o=h.children[0],u=L(h);l=o.getBoundingClientRect(),u.attr("width",l.width),u.attr("height",l.height)}l=h.getBBox();const d=0*t.padding,w=d/2,g=t.width<=l.width+t.padding?l.width+t.padding:t.width;t.width<=l.width+t.padding?t.diff=(l.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w).attr("width",g+d).attr("height",t.height+d),a.attr("class","inner").attr("x",t.x-g/2-w).attr("y",t.y-t.height/2-w+l.height-1).attr("width",g+d).attr("height",t.height+d-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(E().flowchart.htmlLabels)?5:3))+")");const c=r.node().getBBox();return t.height=c.height,t.intersect=function(o){return X(t,o)},n},ct=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,a=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const h=r.node().getBBox();return t.width=h.width,t.height=h.height,t.diff=-t.padding/2,t.intersect=function(l){return X(t,l)},n},ot={rect:st,roundedWithTitle:at,noteGroup:rt,divider:ct};let F={};const lt=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";F[t.id]=ot[n](e,t)},ft=()=>{F={}},k=(e,t,n,r)=>{i.info("Graph in recursive render: XXX",v(t),r);const s=t.graph().rankdir;i.trace("Dir in recursive render - dir:",s);const a=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.trace("Recursive edges",t.edge(t.edges()[0]));const h=a.insert("g").attr("class","clusters"),l=a.insert("g").attr("class","edgePaths"),d=a.insert("g").attr("class","edgeLabels"),w=a.insert("g").attr("class","nodes");t.nodes().forEach(function(c){const o=t.node(c);if(r!==void 0){const u=JSON.parse(JSON.stringify(r.clusterData));i.info("Setting data for cluster XXX (",c,") ",u,r),t.setNode(r.id,u),t.parent(c)||(i.trace("Setting parent",c,r.id),t.setParent(c,r.id,u))}if(i.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){i.info("Cluster identified",c,o.width,t.node(c));const u=k(w,o.graph,n,t.node(c)),C=u.elem;M(o,C),o.diff=u.diff||0,i.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(C,o),i.warn("Recursive render complete ",C,o)}else t.children(c).length>0?(i.info("Cluster - the non recursive path XXX",c,o.id,o,t),i.info(b(o.id,t)),f[o.id]={id:b(o.id,t),node:o}):(i.info("Node - the non recursive path",c,o.id,o),H(w,t.node(c),s))}),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),i.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),i.info("Fix",f,"ids:",c.v,c.w,"Translateing: ",f[c.v],f[c.w]),V(d,o)}),t.edges().forEach(function(c){i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),j(t),i.info("Graph after layout:",v(t));let g=0;return it(t).forEach(function(c){const o=t.node(c);i.info("Position "+c+": "+JSON.stringify(t.node(c))),i.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?B(o):t.children(c).length>0?(lt(h,o),f[o.id].node=o):B(o)}),t.edges().forEach(function(c){const o=t.edge(c);i.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o);const u=U(l,c,o,f,n,t);W(o,u)}),t.nodes().forEach(function(c){const o=t.node(c);i.info(c,o.type,o.diff),o.type==="group"&&(g=o.diff)}),{elem:a,diff:g}},gt=(e,t,n,r,s)=>{A(e,n,r,s),Y(),q(),ft(),tt(),i.warn("Graph at first:",v(t)),nt(t),i.warn("Graph after:",v(t)),k(e,t,r)};export{gt as r}; diff --git a/_nuxt/index.esm.46f16923.js b/_nuxt/index.esm.acb89b47.js similarity index 99% rename from _nuxt/index.esm.46f16923.js rename to _nuxt/index.esm.acb89b47.js index 8bfa75d8bb..c4902ccaef 100644 --- a/_nuxt/index.esm.46f16923.js +++ b/_nuxt/index.esm.acb89b47.js @@ -1,4 +1,4 @@ -import{K as T,L as y,o as Ot,U as _t,Z as $e,a5 as H,a6 as Qt,a7 as tt,r as Q,a8 as rt,B as Se,a9 as er,I as tr,aa as rr}from"./entry.8cfa8efb.js";import{g as nr}from"./_commonjsHelpers.725317a4.js";/** +import{K as T,L as y,o as Ot,U as _t,Z as $e,a5 as H,a6 as Qt,a7 as tt,r as Q,a8 as rt,B as Se,a9 as er,I as tr,aa as rr}from"./entry.363473ce.js";import{g as nr}from"./_commonjsHelpers.725317a4.js";/** * vee-validate v4.8.6 * (c) 2023 Abdelrahman Awad * @license MIT diff --git a/_nuxt/infoDiagram-69ec1a58.1082338c.js b/_nuxt/infoDiagram-69ec1a58.344cc858.js similarity index 97% rename from _nuxt/infoDiagram-69ec1a58.1082338c.js rename to _nuxt/infoDiagram-69ec1a58.344cc858.js index db400850ea..548baec380 100644 --- a/_nuxt/infoDiagram-69ec1a58.1082338c.js +++ b/_nuxt/infoDiagram-69ec1a58.344cc858.js @@ -1,4 +1,4 @@ -import{A as C,l as E,c as D,i as P}from"./mermaid.core.6d8597df.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";var L=function(){var h=function(c,t,e,n){for(e=e||{},n=c.length;n--;e[c[n]]=t);return e},f=[6,9,10],x={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,k){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},h(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},h(f,[2,3]),h(f,[2,4]),h(f,[2,5]),h(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],k=this.table,$="",b=0,T=0,z=2,R=1,M=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var w in this.yy)Object.prototype.hasOwnProperty.call(this.yy,w)&&(p.yy[w]=this.yy[w]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var Y=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var u;return u=s.pop()||o.lex()||R,typeof u!="number"&&(u instanceof Array&&(s=u,u=s.pop()),u=e.symbols_[u]||u),u}for(var l,g,a,A,d={},v,y,j,S;;){if(g=n[n.length-1],this.defaultActions[g]?a=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),a=k[g]&&k[g][l]),typeof a>"u"||!a.length||!a[0]){var O="";S=[];for(v in k[g])this.terminals_[v]&&v>z&&S.push("'"+this.terminals_[v]+"'");o.showPosition?O="Parse error on line "+(b+1)+`: +import{A as C,l as E,c as D,i as P}from"./mermaid.core.bd97f718.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";var L=function(){var h=function(c,t,e,n){for(e=e||{},n=c.length;n--;e[c[n]]=t);return e},f=[6,9,10],x={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,k){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},h(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},h(f,[2,3]),h(f,[2,4]),h(f,[2,5]),h(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],k=this.table,$="",b=0,T=0,z=2,R=1,M=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var w in this.yy)Object.prototype.hasOwnProperty.call(this.yy,w)&&(p.yy[w]=this.yy[w]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var Y=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var u;return u=s.pop()||o.lex()||R,typeof u!="number"&&(u instanceof Array&&(s=u,u=s.pop()),u=e.symbols_[u]||u),u}for(var l,g,a,A,d={},v,y,j,S;;){if(g=n[n.length-1],this.defaultActions[g]?a=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),a=k[g]&&k[g][l]),typeof a>"u"||!a.length||!a[0]){var O="";S=[];for(v in k[g])this.terminals_[v]&&v>z&&S.push("'"+this.terminals_[v]+"'");o.showPosition?O="Parse error on line "+(b+1)+`: `+o.showPosition()+` Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":O="Parse error on line "+(b+1)+": Unexpected "+(l==R?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(O,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(a[0]instanceof Array&&a.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(a[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(a[1]),l=null,T=o.yyleng,$=o.yytext,b=o.yylineno,I=o.yylloc;break;case 2:if(y=this.productions_[a[1]][1],d.$=r[r.length-y],d._$={first_line:i[i.length-(y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(y||1)].first_column,last_column:i[i.length-1].last_column},Y&&(d._$.range=[i[i.length-(y||1)].range[0],i[i.length-1].range[1]]),A=this.performAction.apply(d,[$,T,b,p.yy,a[1],r,i].concat(M)),typeof A<"u")return A;y&&(n=n.slice(0,-1*y*2),r=r.slice(0,-1*y),i=i.slice(0,-1*y)),n.push(this.productions_[a[1]][0]),r.push(d.$),i.push(d._$),j=k[n[n.length-2]][n[n.length-1]],n.push(j);break;case 3:return!0}}return!0}},m=function(){var c={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/_nuxt/is_dark.4ca1afaa.js b/_nuxt/is_dark.0e136d46.js similarity index 75% rename from _nuxt/is_dark.4ca1afaa.js rename to _nuxt/is_dark.0e136d46.js index e1b8ed9d3d..a0f936eae3 100644 --- a/_nuxt/is_dark.4ca1afaa.js +++ b/_nuxt/is_dark.0e136d46.js @@ -1 +1 @@ -import{aG as c,aH as a}from"./mermaid.core.6d8597df.js";const e=n=>{const{r,g:t,b:o}=c.parse(n),s=.2126*a.channel.toLinear(r)+.7152*a.channel.toLinear(t)+.0722*a.channel.toLinear(o);return a.lang.round(s)},i=e,l=n=>i(n)>=.5,u=l,h=n=>!u(n),L=h;export{L as i}; +import{aG as c,aH as a}from"./mermaid.core.bd97f718.js";const e=n=>{const{r,g:t,b:o}=c.parse(n),s=.2126*a.channel.toLinear(r)+.7152*a.channel.toLinear(t)+.0722*a.channel.toLinear(o);return a.lang.round(s)},i=e,l=n=>i(n)>=.5,u=l,h=n=>!u(n),L=h;export{L as i}; diff --git a/_nuxt/journeyDiagram-d38aa57d.f5d5005f.js b/_nuxt/journeyDiagram-d38aa57d.31553d3d.js similarity index 99% rename from _nuxt/journeyDiagram-d38aa57d.f5d5005f.js rename to _nuxt/journeyDiagram-d38aa57d.31553d3d.js index 2df65cdc46..c480e8137f 100644 --- a/_nuxt/journeyDiagram-d38aa57d.f5d5005f.js +++ b/_nuxt/journeyDiagram-d38aa57d.31553d3d.js @@ -1,4 +1,4 @@ -import{c as V,x as gt,y as mt,s as xt,g as _t,b as kt,a as vt,e as bt,A as wt,i as Z,j as Tt}from"./mermaid.core.6d8597df.js";import{a as st}from"./arc.98e8e146.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./path.53f90ab3.js";var K=function(){var e=function(_,n,a,h){for(a=a||{},h=_.length;h--;a[_[h]]=n);return a},t=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],s=[1,15],o=[1,16],l=[1,17],y=[1,18],u=[1,19],x=[1,20],g=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,a,h,d,m,c,R){var k=c.length-1;switch(m){case 1:return c[k-1];case 3:this.$=[];break;case 4:c[k-1].push(c[k]),this.$=c[k-1];break;case 5:case 6:this.$=c[k];break;case 7:case 8:this.$=[];break;case 11:d.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 12:this.$=c[k].trim(),d.setAccTitle(this.$);break;case 13:case 14:this.$=c[k].trim(),d.setAccDescription(this.$);break;case 15:d.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 16:d.addTask(c[k-1],c[k]),this.$="task";break;case 18:d.parseDirective("%%{","open_directive");break;case 19:d.parseDirective(c[k],"type_directive");break;case 20:c[k]=c[k].trim().replace(/'/g,'"'),d.parseDirective(c[k],"arg_directive");break;case 21:d.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:t,7:3,12:4,26:i},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},{1:[2,2]},{14:22,15:[1,23],29:g},e([15,29],[2,19]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:21,10:25,12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),{19:[1,26]},{21:[1,27]},e(r,[2,14]),e(r,[2,15]),{25:[1,28]},e(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},e(r,[2,5]),e(r,[2,12]),e(r,[2,13]),e(r,[2,16]),e(f,[2,9]),{14:32,29:g},{29:[2,20]},{11:[1,33]},e(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(n,a){if(a.recoverable)this.trace(n);else{var h=new Error(n);throw h.hash=a,h}},parse:function(n){var a=this,h=[0],d=[],m=[null],c=[],R=this.table,k="",z=0,tt=0,yt=2,et=1,pt=c.slice.call(arguments,1),b=Object.create(this.lexer),A={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(A.yy[X]=this.yy[X]);b.setInput(n,A.yy),A.yy.lexer=b,A.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var G=b.yylloc;c.push(G);var dt=b.options&&b.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var E;return E=d.pop()||b.lex()||et,typeof E!="number"&&(E instanceof Array&&(d=E,E=d.pop()),E=a.symbols_[E]||E),E}for(var w,I,M,H,F={},Y,$,it,q;;){if(I=h[h.length-1],this.defaultActions[I]?M=this.defaultActions[I]:((w===null||typeof w>"u")&&(w=ft()),M=R[I]&&R[I][w]),typeof M>"u"||!M.length||!M[0]){var U="";q=[];for(Y in R[I])this.terminals_[Y]&&Y>yt&&q.push("'"+this.terminals_[Y]+"'");b.showPosition?U="Parse error on line "+(z+1)+`: +import{c as V,x as gt,y as mt,s as xt,g as _t,b as kt,a as vt,e as bt,A as wt,i as Z,j as Tt}from"./mermaid.core.bd97f718.js";import{a as st}from"./arc.16fae886.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./path.53f90ab3.js";var K=function(){var e=function(_,n,a,h){for(a=a||{},h=_.length;h--;a[_[h]]=n);return a},t=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],s=[1,15],o=[1,16],l=[1,17],y=[1,18],u=[1,19],x=[1,20],g=[1,24],f=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(n,a,h,d,m,c,R){var k=c.length-1;switch(m){case 1:return c[k-1];case 3:this.$=[];break;case 4:c[k-1].push(c[k]),this.$=c[k-1];break;case 5:case 6:this.$=c[k];break;case 7:case 8:this.$=[];break;case 11:d.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 12:this.$=c[k].trim(),d.setAccTitle(this.$);break;case 13:case 14:this.$=c[k].trim(),d.setAccDescription(this.$);break;case 15:d.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 16:d.addTask(c[k-1],c[k]),this.$="task";break;case 18:d.parseDirective("%%{","open_directive");break;case 19:d.parseDirective(c[k],"type_directive");break;case 20:c[k]=c[k].trim().replace(/'/g,'"'),d.parseDirective(c[k],"arg_directive");break;case 21:d.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:t,7:3,12:4,26:i},{1:[3]},e(r,[2,3],{5:6}),{3:7,4:t,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},{1:[2,2]},{14:22,15:[1,23],29:g},e([15,29],[2,19]),e(r,[2,8],{1:[2,1]}),e(r,[2,4]),{7:21,10:25,12:4,17:s,18:o,20:l,22:y,23:u,24:x,26:i},e(r,[2,6]),e(r,[2,7]),e(r,[2,11]),{19:[1,26]},{21:[1,27]},e(r,[2,14]),e(r,[2,15]),{25:[1,28]},e(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},e(r,[2,5]),e(r,[2,12]),e(r,[2,13]),e(r,[2,16]),e(f,[2,9]),{14:32,29:g},{29:[2,20]},{11:[1,33]},e(f,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(n,a){if(a.recoverable)this.trace(n);else{var h=new Error(n);throw h.hash=a,h}},parse:function(n){var a=this,h=[0],d=[],m=[null],c=[],R=this.table,k="",z=0,tt=0,yt=2,et=1,pt=c.slice.call(arguments,1),b=Object.create(this.lexer),A={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(A.yy[X]=this.yy[X]);b.setInput(n,A.yy),A.yy.lexer=b,A.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var G=b.yylloc;c.push(G);var dt=b.options&&b.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var E;return E=d.pop()||b.lex()||et,typeof E!="number"&&(E instanceof Array&&(d=E,E=d.pop()),E=a.symbols_[E]||E),E}for(var w,I,M,H,F={},Y,$,it,q;;){if(I=h[h.length-1],this.defaultActions[I]?M=this.defaultActions[I]:((w===null||typeof w>"u")&&(w=ft()),M=R[I]&&R[I][w]),typeof M>"u"||!M.length||!M[0]){var U="";q=[];for(Y in R[I])this.terminals_[Y]&&Y>yt&&q.push("'"+this.terminals_[Y]+"'");b.showPosition?U="Parse error on line "+(z+1)+`: `+b.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":U="Parse error on line "+(z+1)+": Unexpected "+(w==et?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(U,{text:b.match,token:this.terminals_[w]||w,line:b.yylineno,loc:G,expected:q})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+w);switch(M[0]){case 1:h.push(w),m.push(b.yytext),c.push(b.yylloc),h.push(M[1]),w=null,tt=b.yyleng,k=b.yytext,z=b.yylineno,G=b.yylloc;break;case 2:if($=this.productions_[M[1]][1],F.$=m[m.length-$],F._$={first_line:c[c.length-($||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-($||1)].first_column,last_column:c[c.length-1].last_column},dt&&(F._$.range=[c[c.length-($||1)].range[0],c[c.length-1].range[1]]),H=this.performAction.apply(F,[k,tt,z,A.yy,M[1],m,c].concat(pt)),typeof H<"u")return H;$&&(h=h.slice(0,-1*$*2),m=m.slice(0,-1*$),c=c.slice(0,-1*$)),h.push(this.productions_[M[1]][0]),m.push(F.$),c.push(F._$),it=R[h[h.length-2]][h[h.length-1]],h.push(it);break;case 3:return!0}}return!0}},T=function(){var _={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(n,a){return this.yy=a||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var a=n.length,h=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/_nuxt/layout.e490e9ef.js b/_nuxt/layout.11303474.js similarity index 99% rename from _nuxt/layout.e490e9ef.js rename to _nuxt/layout.11303474.js index 5aa6e7a4f7..35695f3f92 100644 --- a/_nuxt/layout.e490e9ef.js +++ b/_nuxt/layout.11303474.js @@ -1 +1 @@ -import{B as M,C as He,S as C,D as _,E as L,F as Fr,G as nn,H as D,I as X,J as Z,K as Un,L as Dr,M as ke,N as Gr,O as Br,P as Yn,Q as Ur,R as qe,T as Hn,U as V,V as cn,W as kn,X as Yr,Y as Mn,Z as Ln,_ as se}from"./mermaid.core.6d8597df.js";var Hr="[object Symbol]";function R(n){return typeof n=="symbol"||M(n)&&He(n)==Hr}function H(n,e){for(var r=-1,t=n==null?0:n.length,i=Array(t);++r0){if(++e>=at)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function Y(n){return function(){return n}}var ft=function(){try{var n=Fr(Object,"defineProperty");return n({},"",{}),n}catch{}}();const ln=ft;var dt=ln?function(n,e){return ln(n,"toString",{configurable:!0,enumerable:!1,value:Y(e),writable:!0})}:G;const ct=dt;var lt=st(ct);const Xe=lt;function Ze(n,e){for(var r=-1,t=n==null?0:n.length;++r-1}var bt=9007199254740991,wt=/^(?:0|[1-9]\d*)$/;function pn(n,e){var r=typeof n;return e=e??bt,!!e&&(r=="number"||r!="symbol"&&wt.test(n))&&n>-1&&n%1==0&&n1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=n.length>3&&typeof a=="function"?(i--,a):void 0,o&&J(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++t0&&r(u)?e>1?yn(u,e-1,r,t,i):Kn(i,u):t||(i[i.length]=u)}return i}function q(n){var e=n==null?0:n.length;return e?yn(n,1):[]}function Ut(n){return Xe(Je(n,void 0,q),n+"")}var Yt=Br(Object.getPrototypeOf,Object);const Wn=Yt;var Ht="[object Object]",kt=Function.prototype,qt=Object.prototype,je=kt.toString,Kt=qt.hasOwnProperty,Wt=je.call(Object);function Xt(n){if(!M(n)||He(n)!=Ht)return!1;var e=Wn(n);if(e===null)return!0;var r=Kt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&je.call(r)==Wt}function Zt(n,e,r,t){var i=-1,a=n==null?0:n.length;for(t&&a&&(r=n[++i]);++iu))return!1;var f=a.get(n),d=a.get(e);if(f&&d)return f==e&&d==n;var l=-1,h=!0,g=r&Pa?new z:void 0;for(a.set(n,e),a.set(e,n);++l2?e[2]:void 0;for(i&&J(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var xo=Math.max;function To(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:nt(r);return i<0&&(i=xo(t+i,0)),Ve(n,$(e),i)}var Oo=yo(To);const ne=Oo;function _r(n,e){var r=-1,t=D(n)?Array(n.length):[];return xn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function y(n,e){var r=_(n)?H:_r;return r(n,$(e))}function Lo(n,e){return n==null?n:zn(n,jn(e),B)}function Ao(n,e){return n&&Qn(n,jn(e))}function Po(n,e){return n>e}var No=Object.prototype,Co=No.hasOwnProperty;function $o(n,e){return n!=null&&Co.call(n,e)}function b(n,e){return n!=null&&gr(n,e,$o)}function Io(n,e){return H(e,function(r){return n[r]})}function N(n){return n==null?[]:Io(n,T(n))}function x(n){return n===void 0}function Er(n,e){return ne||a&&o&&s&&!u&&!f||t&&o&&s||!r&&s||!i)return 1;if(!t&&!a&&!f&&n=u)return s;var f=r[t];return s*(f=="desc"?-1:1)}}return n.index-e.index}function Bo(n,e,r){e.length?e=H(e,function(a){return _(a)?function(o){return En(o,a.length===1?a[0]:a)}:a}):e=[G];var t=-1;e=H(e,kn($));var i=_r(n,function(a,o,u){var s=H(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return Fo(i,function(a,o){return Go(a,o,r)})}function Uo(n,e){return Ro(n,e,function(r,t){return pr(n,t)})}var Yo=Ut(function(n,e){return n==null?{}:Uo(n,e)});const gn=Yo;var Ho=Math.ceil,ko=Math.max;function qo(n,e,r,t){for(var i=-1,a=ko(Ho((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Ko(n){return function(e,r,t){return t&&typeof t!="number"&&J(e,r,t)&&(r=t=void 0),e=fn(e),r===void 0?(r=e,e=0):r=fn(r),t=t===void 0?e1&&J(n,e[0],e[1])?e=[]:r>2&&J(e[0],e[1],e[2])&&(e=[e[0]]),Bo(n,yn(e,1),[])});const an=Zo;var Vo=1/0,Jo=Ln&&1/Vn(new Ln([,-0]))[1]==Vo?function(n){return new Ln(n)}:it;const zo=Jo;var Qo=200;function jo(n,e,r){var t=-1,i=pt,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=_o;else if(a>=Qo){var f=e?null:zo(n);if(f)return Vn(f);o=!1,i=cr,s=new z}else s=e?[]:u;n:for(;++t1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return b(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=S,this._children[e]={},this._children[S][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return b(this._nodes,e)}removeNode(e){var r=this;if(b(this._nodes,e)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),c(T(this._in[e]),t),delete this._in[e],delete this._preds[e],c(T(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(x(r))r=S;else{r+="";for(var t=r;!x(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==S)return r}}children(e){if(x(e)&&(e=S),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===S)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return T(r)}successors(e){var r=this._sucs[e];if(r)return T(r)}neighbors(e){var r=this.predecessors(e);if(r)return eu(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;c(this._nodes,function(o,u){e(u)&&r.setNode(u,o)}),c(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var i={};function a(o){var u=t.parent(o);return u===void 0||r.hasNode(u)?(i[o]=u,u):u in i?i[u]:a(u)}return this._isCompound&&c(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return Mn(e)||(e=Y(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return tn(e,function(a,o){return i.length>1?t.setEdge(a,o,r):t.setEdge(a,o),o}),this}setEdge(){var e,r,t,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,x(t)||(t=""+t);var u=W(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!x(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,r,t);var s=ou(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,Ce(this._preds[r],e),Ce(this._sucs[e],r),this._in[r][u]=s,this._out[e][u]=s,this._edgeCount++,this}edge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],$e(this._preds[r],e),$e(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var t=this._in[e];if(t){var i=N(t);return r?P(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?P(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))}}A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Ce(n,e){n[e]?n[e]++:n[e]=1}function $e(n,e){--n[e]||delete n[e]}function W(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+Ne+a+Ne+(x(t)?au:t)}function ou(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return t&&(u.name=t),u}function Pn(n,e){return W(n,e.v,e.w,e.name)}class uu{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Ie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Ie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,t=r._prev;t!==r;)e.push(JSON.stringify(t,su)),t=t._prev;return"["+e.join(", ")+"]"}}function Ie(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function su(n,e){if(n!=="_next"&&n!=="_prev")return e}var fu=Y(1);function du(n,e){if(n.nodeCount()<=1)return[];var r=lu(n,e||fu),t=cu(r.graph,r.buckets,r.zeroIdx);return q(y(t,function(i){return n.outEdges(i.v,i.w)}))}function cu(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)Nn(n,e,r,o);for(;o=i.dequeue();)Nn(n,e,r,o);if(n.nodeCount()){for(var u=e.length-2;u>0;--u)if(o=e[u].dequeue(),o){t=t.concat(Nn(n,e,r,o,!0));break}}}return t}function Nn(n,e,r,t,i){var a=i?[]:void 0;return c(n.inEdges(t.v),function(o){var u=n.edge(o),s=n.node(o.v);i&&a.push({v:o.v,w:o.w}),s.out-=u,Bn(e,r,s)}),c(n.outEdges(t.v),function(o){var u=n.edge(o),s=o.w,f=n.node(s);f.in-=u,Bn(e,r,f)}),n.removeNode(t.v),a}function lu(n,e){var r=new A,t=0,i=0;c(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(n.edges(),function(u){var s=r.edge(u.v,u.w)||0,f=e(u),d=s+f;r.setEdge(u.v,u.w,d),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var a=k(i+t+3).map(function(){return new uu}),o=t+1;return c(r.nodes(),function(u){Bn(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function Bn(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function hu(n){var e=n.graph().acyclicer==="greedy"?du(n,r(n)):vu(n);c(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,te("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function vu(n){var e=[],r={},t={};function i(a){b(t,a)||(t[a]=!0,r[a]=!0,c(n.outEdges(a),function(o){b(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return c(n.nodes(),i),e}function gu(n){c(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function K(n,e,r,t){var i;do i=te(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function pu(n){var e=new A().setGraph(n.graph());return c(n.nodes(),function(r){e.setNode(r,n.node(r))}),c(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function yr(n){var e=new A({multigraph:n.isMultigraph()}).setGraph(n.graph());return c(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),c(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function Se(n,e){var r=n.x,t=n.y,i=e.x-r,a=e.y-t,o=n.width/2,u=n.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,f;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,f=u):(i<0&&(o=-o),s=o,f=o*a/i),{x:r+s,y:t+f}}function On(n){var e=y(k(xr(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;x(i)||(e[i][t.order]=r)}),e}function bu(n){var e=Q(y(n.nodes(),function(r){return n.node(r).rank}));c(n.nodes(),function(r){var t=n.node(r);b(t,"rank")&&(t.rank-=e)})}function wu(n){var e=Q(y(n.nodes(),function(a){return n.node(a).rank})),r=[];c(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var t=0,i=n.graph().nodeRankFactor;c(r,function(a,o){x(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function Me(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),K(n,"border",i,e)}function xr(n){return F(y(n.nodes(),function(e){var r=n.node(e).rank;if(!x(r))return r}))}function mu(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function _u(n,e){var r=Pe();try{return e()}finally{console.log(n+" time: "+(Pe()-r)+"ms")}}function Eu(n,e){return e()}function yu(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&c(t,e),b(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;ao.lim&&(u=o,s=!0);var f=P(e.edges(),function(d){return s===De(n,n.node(d.v),u)&&s!==De(n,n.node(d.w),u)});return re(f,function(d){return j(e,d)})}function Ir(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),oe(n),ae(n,e),Du(n,e)}function Du(n,e){var r=ne(n.nodes(),function(i){return!e.node(i).parent}),t=Ru(n,r);t=t.slice(1),c(t,function(i){var a=n.node(i).parent,o=e.edge(i,a),u=!1;o||(o=e.edge(a,i),u=!0),e.node(i).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function Gu(n,e,r){return n.hasEdge(e,r)}function De(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Bu(n){switch(n.graph().ranker){case"network-simplex":Ge(n);break;case"tight-tree":Yu(n);break;case"longest-path":Uu(n);break;default:Ge(n)}}var Uu=ie;function Yu(n){ie(n),Or(n)}function Ge(n){U(n)}function Hu(n){var e=K(n,"root",{},"_root"),r=ku(n),t=F(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=qu(n)+1;c(n.children(),function(o){Sr(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function Sr(n,e,r,t,i,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var s=Me(n,"_bt"),f=Me(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(l){Sr(n,e,r,t,i,a,l);var h=n.node(l),g=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,p=h.borderTop?t:2*t,m=g!==v?1:i-a[o]+1;n.setEdge(s,g,{weight:p,minlen:m,nestingEdge:!0}),n.setEdge(v,f,{weight:p,minlen:m,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,s,{weight:0,minlen:i+a[o]})}function ku(n){var e={};function r(t,i){var a=n.children(t);a&&a.length&&c(a,function(o){r(o,i+1)}),e[t]=i}return c(n.children(),function(t){r(t,1)}),e}function qu(n){return tn(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ku(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,c(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Wu(n,e,r){var t={},i;c(r,function(a){for(var o=n.parent(a),u,s;o;){if(u=n.parent(o),u?(s=t[u],t[u]=o):(s=i,i=o),s&&s!==o){e.setEdge(s,o);return}o=u}})}function Xu(n,e,r){var t=Zu(n),i=new A({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(a){return n.node(a)});return c(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,u||t),c(n[r](a),function(s){var f=s.v===a?s.w:s.v,d=i.edge(f,a),l=x(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+l})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Zu(n){for(var e;n.hasNode(e=te("_root")););return e}function Vu(n,e){for(var r=0,t=1;t0;)d%2&&(l+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*l})),s}function zu(n){var e={},r=P(n.nodes(),function(u){return!n.children(u).length}),t=F(y(r,function(u){return n.node(u).rank})),i=y(k(t+1),function(){return[]});function a(u){if(!b(e,u)){e[u]=!0;var s=n.node(u);i[s.rank].push(u),c(n.successors(u),a)}}var o=an(r,function(u){return n.node(u).rank});return c(o,a),i}function Qu(n,e){return y(e,function(r){var t=n.inEdges(r);if(t.length){var i=tn(t,function(a,o){var u=n.edge(o),s=n.node(o.v);return{sum:a.sum+u.weight*s.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ju(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};x(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!x(a)&&!x(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=P(r,function(i){return!i.indegree});return ns(t)}function ns(n){var e=[];function r(a){return function(o){o.merged||(x(o.barycenter)||x(a.barycenter)||o.barycenter>=a.barycenter)&&es(a,o)}}function t(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var i=n.pop();e.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return y(P(e,function(a){return!a.merged}),function(a){return gn(a,["vs","i","barycenter","weight"])})}function es(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function rs(n,e){var r=mu(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=an(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(ts(!!e)),s=Be(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Be(a,i,s)});var f={vs:q(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Be(n,e,r){for(var t;e.length&&(t=vn(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function ts(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Mr(n,e,r,t){var i=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,s={};o&&(i=P(i,function(v){return v!==o&&v!==u}));var f=Qu(n,i);c(f,function(v){if(n.children(v.v).length){var p=Mr(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&as(v,p)}});var d=ju(f,r);is(d,s);var l=rs(d,t);if(o&&(l.vs=q([o,l.vs,u]),n.predecessors(o).length)){var h=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+g.order)/(l.weight+2),l.weight+=2}return l}function is(n,e){c(n,function(r){r.vs=q(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function as(n,e){x(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function os(n){var e=xr(n),r=Ue(n,k(1,e+1),"inEdges"),t=Ue(n,k(e-1,-1,-1),"outEdges"),i=zu(n);Ye(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){us(u%2?r:t,u%4>=2),i=On(n);var f=Vu(n,i);fo||u>e[s].lim));for(f=s,s=t;(s=n.parent(s))!==f;)a.push(s);return{path:i.concat(a.reverse()),lca:f}}function ds(n){var e={},r=0;function t(i){var a=r;c(n.children(i),t),e[i]={low:a,lim:r++}}return c(n.children(),t),e}function cs(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=vn(a);return c(a,function(d,l){var h=hs(n,d),g=h?n.node(h).order:s;(h||d===f)&&(c(a.slice(u,l+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),E=m.order;(Ef)&&Rr(r,h,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,l){if(n.node(d).dummy==="border"){var h=n.predecessors(d);h.length&&(s=n.node(h[0]).order,t(o,f,l,u,s),f=l,u=s)}t(o,f,o.length,s,a.length)}),o}return tn(e,i),r}function hs(n,e){if(n.node(e).dummy)return ne(n.predecessors(e),function(r){return n.node(r).dummy})}function Rr(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function vs(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function gs(n,e,r,t){var i={},a={},o={};return c(e,function(u){c(u,function(s,f){i[s]=s,a[s]=s,o[s]=f})}),c(e,function(u){var s=-1;c(u,function(f){var d=t(f);if(d.length){d=an(d,function(p){return o[p]});for(var l=(d.length-1)/2,h=Math.floor(l),g=Math.ceil(l);h<=g;++h){var v=d[h];a[f]===f&&s0){if(++e>=at)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function Y(n){return function(){return n}}var ft=function(){try{var n=Fr(Object,"defineProperty");return n({},"",{}),n}catch{}}();const ln=ft;var dt=ln?function(n,e){return ln(n,"toString",{configurable:!0,enumerable:!1,value:Y(e),writable:!0})}:G;const ct=dt;var lt=st(ct);const Xe=lt;function Ze(n,e){for(var r=-1,t=n==null?0:n.length;++r-1}var bt=9007199254740991,wt=/^(?:0|[1-9]\d*)$/;function pn(n,e){var r=typeof n;return e=e??bt,!!e&&(r=="number"||r!="symbol"&&wt.test(n))&&n>-1&&n%1==0&&n1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=n.length>3&&typeof a=="function"?(i--,a):void 0,o&&J(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++t0&&r(u)?e>1?yn(u,e-1,r,t,i):Kn(i,u):t||(i[i.length]=u)}return i}function q(n){var e=n==null?0:n.length;return e?yn(n,1):[]}function Ut(n){return Xe(Je(n,void 0,q),n+"")}var Yt=Br(Object.getPrototypeOf,Object);const Wn=Yt;var Ht="[object Object]",kt=Function.prototype,qt=Object.prototype,je=kt.toString,Kt=qt.hasOwnProperty,Wt=je.call(Object);function Xt(n){if(!M(n)||He(n)!=Ht)return!1;var e=Wn(n);if(e===null)return!0;var r=Kt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&je.call(r)==Wt}function Zt(n,e,r,t){var i=-1,a=n==null?0:n.length;for(t&&a&&(r=n[++i]);++iu))return!1;var f=a.get(n),d=a.get(e);if(f&&d)return f==e&&d==n;var l=-1,h=!0,g=r&Pa?new z:void 0;for(a.set(n,e),a.set(e,n);++l2?e[2]:void 0;for(i&&J(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var xo=Math.max;function To(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:nt(r);return i<0&&(i=xo(t+i,0)),Ve(n,$(e),i)}var Oo=yo(To);const ne=Oo;function _r(n,e){var r=-1,t=D(n)?Array(n.length):[];return xn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function y(n,e){var r=_(n)?H:_r;return r(n,$(e))}function Lo(n,e){return n==null?n:zn(n,jn(e),B)}function Ao(n,e){return n&&Qn(n,jn(e))}function Po(n,e){return n>e}var No=Object.prototype,Co=No.hasOwnProperty;function $o(n,e){return n!=null&&Co.call(n,e)}function b(n,e){return n!=null&&gr(n,e,$o)}function Io(n,e){return H(e,function(r){return n[r]})}function N(n){return n==null?[]:Io(n,T(n))}function x(n){return n===void 0}function Er(n,e){return ne||a&&o&&s&&!u&&!f||t&&o&&s||!r&&s||!i)return 1;if(!t&&!a&&!f&&n=u)return s;var f=r[t];return s*(f=="desc"?-1:1)}}return n.index-e.index}function Bo(n,e,r){e.length?e=H(e,function(a){return _(a)?function(o){return En(o,a.length===1?a[0]:a)}:a}):e=[G];var t=-1;e=H(e,kn($));var i=_r(n,function(a,o,u){var s=H(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return Fo(i,function(a,o){return Go(a,o,r)})}function Uo(n,e){return Ro(n,e,function(r,t){return pr(n,t)})}var Yo=Ut(function(n,e){return n==null?{}:Uo(n,e)});const gn=Yo;var Ho=Math.ceil,ko=Math.max;function qo(n,e,r,t){for(var i=-1,a=ko(Ho((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Ko(n){return function(e,r,t){return t&&typeof t!="number"&&J(e,r,t)&&(r=t=void 0),e=fn(e),r===void 0?(r=e,e=0):r=fn(r),t=t===void 0?e1&&J(n,e[0],e[1])?e=[]:r>2&&J(e[0],e[1],e[2])&&(e=[e[0]]),Bo(n,yn(e,1),[])});const an=Zo;var Vo=1/0,Jo=Ln&&1/Vn(new Ln([,-0]))[1]==Vo?function(n){return new Ln(n)}:it;const zo=Jo;var Qo=200;function jo(n,e,r){var t=-1,i=pt,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=_o;else if(a>=Qo){var f=e?null:zo(n);if(f)return Vn(f);o=!1,i=cr,s=new z}else s=e?[]:u;n:for(;++t1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return b(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=S,this._children[e]={},this._children[S][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return b(this._nodes,e)}removeNode(e){var r=this;if(b(this._nodes,e)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),c(T(this._in[e]),t),delete this._in[e],delete this._preds[e],c(T(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(x(r))r=S;else{r+="";for(var t=r;!x(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==S)return r}}children(e){if(x(e)&&(e=S),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===S)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return T(r)}successors(e){var r=this._sucs[e];if(r)return T(r)}neighbors(e){var r=this.predecessors(e);if(r)return eu(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;c(this._nodes,function(o,u){e(u)&&r.setNode(u,o)}),c(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var i={};function a(o){var u=t.parent(o);return u===void 0||r.hasNode(u)?(i[o]=u,u):u in i?i[u]:a(u)}return this._isCompound&&c(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return Mn(e)||(e=Y(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return tn(e,function(a,o){return i.length>1?t.setEdge(a,o,r):t.setEdge(a,o),o}),this}setEdge(){var e,r,t,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,x(t)||(t=""+t);var u=W(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!x(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,r,t);var s=ou(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,Ce(this._preds[r],e),Ce(this._sucs[e],r),this._in[r][u]=s,this._out[e][u]=s,this._edgeCount++,this}edge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?Pn(this._isDirected,arguments[0]):W(this._isDirected,e,r,t),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],$e(this._preds[r],e),$e(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var t=this._in[e];if(t){var i=N(t);return r?P(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?P(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))}}A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Ce(n,e){n[e]?n[e]++:n[e]=1}function $e(n,e){--n[e]||delete n[e]}function W(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+Ne+a+Ne+(x(t)?au:t)}function ou(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return t&&(u.name=t),u}function Pn(n,e){return W(n,e.v,e.w,e.name)}class uu{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Ie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Ie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,t=r._prev;t!==r;)e.push(JSON.stringify(t,su)),t=t._prev;return"["+e.join(", ")+"]"}}function Ie(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function su(n,e){if(n!=="_next"&&n!=="_prev")return e}var fu=Y(1);function du(n,e){if(n.nodeCount()<=1)return[];var r=lu(n,e||fu),t=cu(r.graph,r.buckets,r.zeroIdx);return q(y(t,function(i){return n.outEdges(i.v,i.w)}))}function cu(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)Nn(n,e,r,o);for(;o=i.dequeue();)Nn(n,e,r,o);if(n.nodeCount()){for(var u=e.length-2;u>0;--u)if(o=e[u].dequeue(),o){t=t.concat(Nn(n,e,r,o,!0));break}}}return t}function Nn(n,e,r,t,i){var a=i?[]:void 0;return c(n.inEdges(t.v),function(o){var u=n.edge(o),s=n.node(o.v);i&&a.push({v:o.v,w:o.w}),s.out-=u,Bn(e,r,s)}),c(n.outEdges(t.v),function(o){var u=n.edge(o),s=o.w,f=n.node(s);f.in-=u,Bn(e,r,f)}),n.removeNode(t.v),a}function lu(n,e){var r=new A,t=0,i=0;c(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(n.edges(),function(u){var s=r.edge(u.v,u.w)||0,f=e(u),d=s+f;r.setEdge(u.v,u.w,d),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var a=k(i+t+3).map(function(){return new uu}),o=t+1;return c(r.nodes(),function(u){Bn(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function Bn(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function hu(n){var e=n.graph().acyclicer==="greedy"?du(n,r(n)):vu(n);c(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,te("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function vu(n){var e=[],r={},t={};function i(a){b(t,a)||(t[a]=!0,r[a]=!0,c(n.outEdges(a),function(o){b(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return c(n.nodes(),i),e}function gu(n){c(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function K(n,e,r,t){var i;do i=te(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function pu(n){var e=new A().setGraph(n.graph());return c(n.nodes(),function(r){e.setNode(r,n.node(r))}),c(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function yr(n){var e=new A({multigraph:n.isMultigraph()}).setGraph(n.graph());return c(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),c(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function Se(n,e){var r=n.x,t=n.y,i=e.x-r,a=e.y-t,o=n.width/2,u=n.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,f;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,f=u):(i<0&&(o=-o),s=o,f=o*a/i),{x:r+s,y:t+f}}function On(n){var e=y(k(xr(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;x(i)||(e[i][t.order]=r)}),e}function bu(n){var e=Q(y(n.nodes(),function(r){return n.node(r).rank}));c(n.nodes(),function(r){var t=n.node(r);b(t,"rank")&&(t.rank-=e)})}function wu(n){var e=Q(y(n.nodes(),function(a){return n.node(a).rank})),r=[];c(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var t=0,i=n.graph().nodeRankFactor;c(r,function(a,o){x(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function Me(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),K(n,"border",i,e)}function xr(n){return F(y(n.nodes(),function(e){var r=n.node(e).rank;if(!x(r))return r}))}function mu(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function _u(n,e){var r=Pe();try{return e()}finally{console.log(n+" time: "+(Pe()-r)+"ms")}}function Eu(n,e){return e()}function yu(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&c(t,e),b(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;ao.lim&&(u=o,s=!0);var f=P(e.edges(),function(d){return s===De(n,n.node(d.v),u)&&s!==De(n,n.node(d.w),u)});return re(f,function(d){return j(e,d)})}function Ir(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),oe(n),ae(n,e),Du(n,e)}function Du(n,e){var r=ne(n.nodes(),function(i){return!e.node(i).parent}),t=Ru(n,r);t=t.slice(1),c(t,function(i){var a=n.node(i).parent,o=e.edge(i,a),u=!1;o||(o=e.edge(a,i),u=!0),e.node(i).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function Gu(n,e,r){return n.hasEdge(e,r)}function De(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Bu(n){switch(n.graph().ranker){case"network-simplex":Ge(n);break;case"tight-tree":Yu(n);break;case"longest-path":Uu(n);break;default:Ge(n)}}var Uu=ie;function Yu(n){ie(n),Or(n)}function Ge(n){U(n)}function Hu(n){var e=K(n,"root",{},"_root"),r=ku(n),t=F(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=qu(n)+1;c(n.children(),function(o){Sr(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function Sr(n,e,r,t,i,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var s=Me(n,"_bt"),f=Me(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(l){Sr(n,e,r,t,i,a,l);var h=n.node(l),g=h.borderTop?h.borderTop:l,v=h.borderBottom?h.borderBottom:l,p=h.borderTop?t:2*t,m=g!==v?1:i-a[o]+1;n.setEdge(s,g,{weight:p,minlen:m,nestingEdge:!0}),n.setEdge(v,f,{weight:p,minlen:m,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,s,{weight:0,minlen:i+a[o]})}function ku(n){var e={};function r(t,i){var a=n.children(t);a&&a.length&&c(a,function(o){r(o,i+1)}),e[t]=i}return c(n.children(),function(t){r(t,1)}),e}function qu(n){return tn(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ku(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,c(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Wu(n,e,r){var t={},i;c(r,function(a){for(var o=n.parent(a),u,s;o;){if(u=n.parent(o),u?(s=t[u],t[u]=o):(s=i,i=o),s&&s!==o){e.setEdge(s,o);return}o=u}})}function Xu(n,e,r){var t=Zu(n),i=new A({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(a){return n.node(a)});return c(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,u||t),c(n[r](a),function(s){var f=s.v===a?s.w:s.v,d=i.edge(f,a),l=x(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+l})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Zu(n){for(var e;n.hasNode(e=te("_root")););return e}function Vu(n,e){for(var r=0,t=1;t0;)d%2&&(l+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*l})),s}function zu(n){var e={},r=P(n.nodes(),function(u){return!n.children(u).length}),t=F(y(r,function(u){return n.node(u).rank})),i=y(k(t+1),function(){return[]});function a(u){if(!b(e,u)){e[u]=!0;var s=n.node(u);i[s.rank].push(u),c(n.successors(u),a)}}var o=an(r,function(u){return n.node(u).rank});return c(o,a),i}function Qu(n,e){return y(e,function(r){var t=n.inEdges(r);if(t.length){var i=tn(t,function(a,o){var u=n.edge(o),s=n.node(o.v);return{sum:a.sum+u.weight*s.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function ju(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};x(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!x(a)&&!x(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=P(r,function(i){return!i.indegree});return ns(t)}function ns(n){var e=[];function r(a){return function(o){o.merged||(x(o.barycenter)||x(a.barycenter)||o.barycenter>=a.barycenter)&&es(a,o)}}function t(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var i=n.pop();e.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return y(P(e,function(a){return!a.merged}),function(a){return gn(a,["vs","i","barycenter","weight"])})}function es(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function rs(n,e){var r=mu(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=an(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(ts(!!e)),s=Be(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Be(a,i,s)});var f={vs:q(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Be(n,e,r){for(var t;e.length&&(t=vn(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function ts(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Mr(n,e,r,t){var i=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,s={};o&&(i=P(i,function(v){return v!==o&&v!==u}));var f=Qu(n,i);c(f,function(v){if(n.children(v.v).length){var p=Mr(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&as(v,p)}});var d=ju(f,r);is(d,s);var l=rs(d,t);if(o&&(l.vs=q([o,l.vs,u]),n.predecessors(o).length)){var h=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+g.order)/(l.weight+2),l.weight+=2}return l}function is(n,e){c(n,function(r){r.vs=q(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function as(n,e){x(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function os(n){var e=xr(n),r=Ue(n,k(1,e+1),"inEdges"),t=Ue(n,k(e-1,-1,-1),"outEdges"),i=zu(n);Ye(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){us(u%2?r:t,u%4>=2),i=On(n);var f=Vu(n,i);fo||u>e[s].lim));for(f=s,s=t;(s=n.parent(s))!==f;)a.push(s);return{path:i.concat(a.reverse()),lca:f}}function ds(n){var e={},r=0;function t(i){var a=r;c(n.children(i),t),e[i]={low:a,lim:r++}}return c(n.children(),t),e}function cs(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=vn(a);return c(a,function(d,l){var h=hs(n,d),g=h?n.node(h).order:s;(h||d===f)&&(c(a.slice(u,l+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),E=m.order;(Ef)&&Rr(r,h,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,l){if(n.node(d).dummy==="border"){var h=n.predecessors(d);h.length&&(s=n.node(h[0]).order,t(o,f,l,u,s),f=l,u=s)}t(o,f,o.length,s,a.length)}),o}return tn(e,i),r}function hs(n,e){if(n.node(e).dummy)return ne(n.predecessors(e),function(r){return n.node(r).dummy})}function Rr(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function vs(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function gs(n,e,r,t){var i={},a={},o={};return c(e,function(u){c(u,function(s,f){i[s]=s,a[s]=s,o[s]=f})}),c(e,function(u){var s=-1;c(u,function(f){var d=t(f);if(d.length){d=an(d,function(p){return o[p]});for(var l=(d.length-1)/2,h=Math.floor(l),g=Math.ceil(l);h<=g;++h){var v=d[h];a[f]===f&&s{Di[t]=e},o0=r0;let ce={};const Ua=function(t,e,i,r){S.debug("parseDirective is being called",e,i,r);try{if(e!==void 0)switch(e=e.trim(),i){case"open_directive":ce={};break;case"type_directive":if(!ce)throw new Error("currentDirective is undefined");ce.type=e.toLowerCase();break;case"arg_directive":if(!ce)throw new Error("currentDirective is undefined");ce.args=JSON.parse(e);break;case"close_directive":s0(t,ce,r),ce=void 0;break}}catch(n){S.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${i}`),S.error(n.message)}},s0=function(t,e,i){switch(S.info(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":{["config"].forEach(r=>{e.args[r]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),e.args[i]=e.args[r],delete e.args[r])}),S.info("sanitize in handleDirective",e.args),De(e.args),S.info("sanitize in handleDirective (done)",e.args),Ms(e.args);break}case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap(e.type==="wrap");break;case"themeCss":S.warn("themeCss encountered");break;default:S.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);break}},a0=S,l0=vn,Va=Vt,c0=t=>Qe(t,Va()),h0=i0,u0=()=>gh,f0=(t,e,i,r)=>Ua(t,e,i,r),sr={},ar=(t,e,i)=>{if(sr[t])throw new Error(`Diagram ${t} already registered.`);sr[t]=e,i&&Xa(t,i),n0(t,e.styles),e.injectUtils&&e.injectUtils(a0,l0,Va,c0,h0,u0(),f0)},qn=t=>{if(t in sr)return sr[t];throw new Error(`Diagram ${t} not found.`)};class Ga extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}}const d0=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,p0=/\s*%%.*\n/gm,Ie={},kr=function(t,e){t=t.replace(ja,"").replace(d0,"").replace(p0,` `);for(const[i,{detector:r}]of Object.entries(Ie))if(r(t,e))return i;throw new Ga(`No diagram type detected matching given configuration for text: ${t}`)},Ya=(...t)=>{for(const{id:e,detector:i,loader:r}of t)Xa(e,i,r)},g0=async()=>{S.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Ie).map(async([i,{detector:r,loader:n}])=>{if(n)try{qn(i)}catch{try{const{diagram:s,id:a}=await n();ar(a,s,r)}catch(s){throw S.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Ie[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){S.error(`Failed to load ${e.length} external diagrams`);for(const i of e)S.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},Xa=(t,e,i)=>{Ie[t]?S.error(`Detector with key ${t} already exists`):Ie[t]={detector:e,loader:i},S.debug(`Detector with key ${t} added${i?" with loader":""}`)},m0=t=>Ie[t].loader,_0={curveBasis:qd,curveBasisClosed:jd,curveBasisOpen:Ud,curveBumpX:Wd,curveBumpY:Hd,curveBundle:Vd,curveCardinalClosed:Yd,curveCardinalOpen:Xd,curveCardinal:Gd,curveCatmullRomClosed:Zd,curveCatmullRomOpen:Jd,curveCatmullRom:Kd,curveLinear:zd,curveLinearClosed:Qd,curveMonotoneX:tp,curveMonotoneY:ep,curveNatural:ip,curveStep:rp,curveStepAfter:op,curveStepBefore:np},Zr=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,y0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,C0=function(t,e){const i=Ka(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const n=i.map(o=>o.args);De(n),r=lt(r,[...n])}else r=i.args;if(r){let n=kr(t,e);["config"].forEach(o=>{r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o])})}return r},Ka=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${y0.source})(?=[}][%]{2}).* `,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),S.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=Zr.exec(t))!==null;)if(r.index===Zr.lastIndex&&Zr.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0&&n.push({type:t,args:null}),n.length===1?n[0]:n}catch(i){return S.error(`ERROR: ${i.message} - Unable to parse directive - ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},b0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function x0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return _0[i]||e}function v0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Hs(i):i}const T0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=lr(o,e),e=o});let r=i/2,n;return e=void 0,t.forEach(o=>{if(e&&!n){const s=lr(o,e);if(s=1&&(n={x:o.x,y:o.y}),a>0&&a<1&&(n={x:(1-a)*e.x+a*o.x,y:(1-a)*e.y+a*o.y})}}e=o}),n}function k0(t){return t.length===1?t[0]:S0(t)}const w0=(t,e,i)=>{let r;S.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let o=25,s;r=void 0,e.forEach(h=>{if(r&&!s){const f=lr(h,r);if(f=1&&(s={x:h.x,y:h.y}),g>0&&g<1&&(s={x:(1-g)*r.x+g*h.x,y:(1-g)*r.y+g*h.y})}}r=h});const a=t?10:5,l=Math.atan2(e[0].y-s.y,e[0].x-s.x),c={x:0,y:0};return c.x=Math.sin(l)*a+(e[0].x+s.x)/2,c.y=-Math.cos(l)*a+(e[0].y+s.y)/2,c};function B0(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;S.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(f=>{n=f});let s=25+t,a;n=void 0,r.forEach(f=>{if(n&&!a){const g=lr(f,n);if(g=1&&(a={x:f.x,y:f.y}),d>0&&d<1&&(a={x:(1-d)*n.x+d*f.x,y:(1-d)*n.y+d*f.y})}}n=f});const l=10+t*.5,c=Math.atan2(r[0].y-a.y,r[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(c)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2,e==="start_left"&&(h.x=Math.sin(c+Math.PI)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c+Math.PI)*l+(r[0].y+a.y)/2),e==="end_right"&&(h.x=Math.sin(c-Math.PI)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c-Math.PI)*l+(r[0].y+a.y)/2-5),e==="end_left"&&(h.x=Math.sin(c)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2-5),h}function L0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ts=0;const A0=()=>(ts++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ts);function E0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nE0(t.length),M0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},O0=function(t,e){const i=e.text.replace(Tn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},$0=fi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Tn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=cr(`${s} `,i),c=cr(o,i);if(l>e){const{hyphenatedStrings:g,remainingWord:d}=I0(s,e,"-",i);n.push(o,...g),o=d}else c+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),I0=fi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const c=`${s}${a}`;if(cr(c,r)>=e){const f=l+1,g=n.length===f,d=`${c}${i}`;o.push(g?c:d),s=""}else s=c}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function D0(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),jn(t,e).height}function cr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),jn(t,e).width}const jn=fi((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Tn.lineBreakRegex),l=[],c=Mt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const g of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const F=M0();F.text=k;const R=O0(h,F).style("font-size",o).style("font-weight",n).style("font-family",g),x=(R._groups||R)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,x.width)),d=Math.round(x.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}h.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),N0=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let wi;const R0=function(t){return wi=wi||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),wi.innerHTML=t,unescape(wi.textContent)},De=t=>{if(S.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>De(e)):Object.keys(t).forEach(e=>{S.debug("Checking key",e),e.startsWith("__")&&(S.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(S.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(S.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(S.debug("sanitizing themeCss option"),t[e]=Ni(t[e])),e.includes("fontFamily")&&(S.debug("sanitizing fontFamily option"),t[e]=Ni(t[e])),e.includes("altFontFamily")&&(S.debug("sanitizing altFontFamily option"),t[e]=Ni(t[e])),ah.includes(e)?typeof t[e]=="object"&&(S.debug("sanitize deleting object",e),De(t[e])):(S.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}S.debug("After sanitization",t)},Ni=t=>{let e=0,i=0;for(const r of t){if(e{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},Ri={assignWithDepth:lt,wrapLabel:$0,calculateTextHeight:D0,calculateTextWidth:cr,calculateTextDimensions:jn,detectInit:C0,detectDirective:Ka,isSubstringInArray:b0,interpolateToCurve:x0,calcLabelPosition:k0,calcCardinalityPosition:w0,calcTerminalLabelPosition:B0,formatUrl:v0,getStylesFromArray:L0,generateId:A0,random:F0,runFunc:T0,entityDecode:R0,initIdGenerator:N0,directiveSanitizer:De,sanitizeCss:Ni,insertTitle:z0,parseFontSize:Un};var Ja="comm",Qa="rule",tl="decl",W0="@import",H0="@keyframes",q0=Math.abs,Vn=String.fromCharCode;function el(t){return t.trim()}function Pi(t,e,i){return t.replace(e,i)}function j0(t,e){return t.indexOf(e)}function ai(t,e){return t.charCodeAt(e)|0}function li(t,e,i){return t.slice(e,i)}function Zt(t){return t.length}function il(t){return t.length}function Bi(t,e){return e.push(t),t}var wr=1,Ne=1,rl=0,Tt=0,J=0,ze="";function Gn(t,e,i,r,n,o,s){return{value:t,root:e,parent:i,type:r,props:n,children:o,line:wr,column:Ne,length:s,return:""}}function U0(){return J}function V0(){return J=Tt>0?ai(ze,--Tt):0,Ne--,J===10&&(Ne=1,wr--),J}function Lt(){return J=Tt2||pn(J)>3?"":" "}function K0(t,e){for(;--e&&Lt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Br(t,zi()+(e<6&&pe()==32&&Lt()==32))}function gn(t){for(;Lt();)switch(J){case t:return Tt;case 34:case 39:t!==34&&t!==39&&gn(J);break;case 40:t===41&&gn(t);break;case 92:Lt();break}return Tt}function Z0(t,e){for(;Lt()&&t+J!==47+10;)if(t+J===42+42&&pe()===47)break;return"/*"+Br(e,Tt-1)+"*"+Vn(t===47?t:Lt())}function J0(t){for(;!pn(pe());)Lt();return Br(t,Tt)}function Q0(t){return Y0(Wi("",null,null,null,[""],t=G0(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var c=0,h=0,f=s,g=0,d=0,_=0,k=1,F=1,R=1,x=0,q="",G=n,X=o,V=r,P=q;F;)switch(_=x,x=Lt()){case 40:if(_!=108&&ai(P,f-1)==58){j0(P+=Pi(Jr(x),"&","&\f"),"&\f")!=-1&&(R=-1);break}case 34:case 39:case 91:P+=Jr(x);break;case 9:case 10:case 13:case 32:P+=X0(_);break;case 92:P+=K0(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Bi(t_(Z0(Lt(),zi()),e,i),l);break;default:P+="/"}break;case 123*k:a[c++]=Zt(P)*R;case 125*k:case 59:case 0:switch(x){case 0:case 125:F=0;case 59+h:R==-1&&(P=Pi(P,/\f/g,"")),d>0&&Zt(P)-f&&Bi(d>32?is(P+";",r,i,f-1):is(Pi(P," ","")+";",r,i,f-2),l);break;case 59:P+=";";default:if(Bi(V=es(P,e,i,c,h,n,a,q,G=[],X=[],f),o),x===123)if(h===0)Wi(P,e,V,V,G,o,f,a,X);else switch(g===99&&ai(P,3)===110?100:g){case 100:case 109:case 115:Wi(t,V,V,r&&Bi(es(t,V,V,0,0,n,a,q,n,G=[],f),X),n,X,f,a,r?G:X);break;default:Wi(P,V,V,V,[""],X,0,a,X)}}c=h=d=0,k=R=1,q=P="",f=s;break;case 58:f=1+Zt(P),d=_;default:if(k<1){if(x==123)--k;else if(x==125&&k++==0&&V0()==125)continue}switch(P+=Vn(x),x*k){case 38:R=h>0?1:(P+="\f",-1);break;case 44:a[c++]=(Zt(P)-1)*R,R=1;break;case 64:pe()===45&&(P+=Jr(Lt())),g=pe(),h=f=Zt(q=P+=J0(zi())),x++;break;case 45:_===45&&Zt(P)==2&&(k=0)}}return o}function es(t,e,i,r,n,o,s,a,l,c,h){for(var f=n-1,g=n===0?o:[""],d=il(g),_=0,k=0,F=0;_0?g[R]+" "+x:Pi(x,/&\f/g,g[R])))&&(l[F++]=q);return Gn(t,e,i,n===0?Qa:a,l,c,h)}function t_(t,e,i){return Gn(t,e,i,Ja,Vn(U0()),li(t,2,-2),0)}function is(t,e,i,r){return Gn(t,e,i,tl,li(t,0,r),li(t,r+1,-1),r)}function mn(t,e){for(var i="",r=il(t),n=0;n-1&&t%1==0&&t<=B_}function L_(t){return t!=null&&sl(t.length)&&!Ea(t)}function A_(){return!1}var al=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cs=al&&typeof module=="object"&&module&&!module.nodeType&&module,E_=cs&&cs.exports===al,hs=E_?re.Buffer:void 0,F_=hs?hs.isBuffer:void 0,M_=F_||A_;const O_=M_;var $_="[object Arguments]",I_="[object Array]",D_="[object Boolean]",N_="[object Date]",R_="[object Error]",P_="[object Function]",z_="[object Map]",W_="[object Number]",H_="[object Object]",q_="[object RegExp]",j_="[object Set]",U_="[object String]",V_="[object WeakMap]",G_="[object ArrayBuffer]",Y_="[object DataView]",X_="[object Float32Array]",K_="[object Float64Array]",Z_="[object Int8Array]",J_="[object Int16Array]",Q_="[object Int32Array]",ty="[object Uint8Array]",ey="[object Uint8ClampedArray]",iy="[object Uint16Array]",ry="[object Uint32Array]",Y={};Y[X_]=Y[K_]=Y[Z_]=Y[J_]=Y[Q_]=Y[ty]=Y[ey]=Y[iy]=Y[ry]=!0;Y[$_]=Y[I_]=Y[G_]=Y[D_]=Y[Y_]=Y[N_]=Y[R_]=Y[P_]=Y[z_]=Y[W_]=Y[H_]=Y[q_]=Y[j_]=Y[U_]=Y[V_]=!1;function ny(t){return Yn(t)&&sl(t.length)&&!!Y[ui(t)]}function oy(t){return function(e){return t(e)}}var ll=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Je=ll&&typeof module=="object"&&module&&!module.nodeType&&module,sy=Je&&Je.exports===ll,Qr=sy&&Ba.process,ay=function(){try{var t=Je&&Je.require&&Je.require("util").types;return t||Qr&&Qr.binding&&Qr.binding("util")}catch{}}();const us=ay;var fs=us&&us.isTypedArray,ly=fs?oy(fs):ny;const cy=ly;var hy="[object Map]",uy="[object Set]",fy=Object.prototype,dy=fy.hasOwnProperty;function Hi(t){if(t==null)return!0;if(L_(t)&&(w_(t)||typeof t=="string"||typeof t.splice=="function"||O_(t)||cy(t)||S_(t)))return!t.length;var e=C_(t);if(e==hy||e==uy)return!t.size;if(nl(t))return!l_(t).length;for(var i in t)if(dy.call(t,i))return!1;return!0}const ds="10.1.0",cl="c4",py=t=>t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null,gy=async()=>{const{diagram:t}=await rt(()=>import("./c4Diagram-44c43e89.62470b1d.js"),["./c4Diagram-44c43e89.62470b1d.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:cl,diagram:t}},my={id:cl,detector:py,loader:gy},_y=my,hl="flowchart",yy=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null},Cy=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-46a15f6f.29cc09a3.js"),["./flowDiagram-46a15f6f.29cc09a3.js","./flowDb-52e24d17.7b23ed64.js","./layout.e490e9ef.js","./styles-26373982.b5ae6569.js","./index-5219d011.c6c2c006.js","./edges-2e77835f.ce02d1cb.js","./createText-1f5f8f92.2cd7eed0.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.3bc18744.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:hl,diagram:t}},by={id:hl,detector:yy,loader:Cy},xy=by,ul="flowchart-v2",vy=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*flowchart/)!==null},Ty=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-v2-8e52592d.b0431b00.js"),["./flowDiagram-v2-8e52592d.b0431b00.js","./flowDb-52e24d17.7b23ed64.js","./styles-26373982.b5ae6569.js","./layout.e490e9ef.js","./index-5219d011.c6c2c006.js","./edges-2e77835f.ce02d1cb.js","./createText-1f5f8f92.2cd7eed0.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.3bc18744.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ul,diagram:t}},Sy={id:ul,detector:vy,loader:Ty},ky=Sy,fl="er",wy=t=>t.match(/^\s*erDiagram/)!==null,By=async()=>{const{diagram:t}=await rt(()=>import("./erDiagram-20cc9db4.12c0aae2.js"),["./erDiagram-20cc9db4.12c0aae2.js","./layout.e490e9ef.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:fl,diagram:t}},Ly={id:fl,detector:wy,loader:By},Ay=Ly,dl="gitGraph",Ey=t=>t.match(/^\s*gitGraph/)!==null,Fy=async()=>{const{diagram:t}=await rt(()=>import("./gitGraphDiagram-0a645df6.c4cc2aaf.js"),["./gitGraphDiagram-0a645df6.c4cc2aaf.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:dl,diagram:t}},My={id:dl,detector:Ey,loader:Fy},Oy=My,pl="gantt",$y=t=>t.match(/^\s*gantt/)!==null,Iy=async()=>{const{diagram:t}=await rt(()=>import("./ganttDiagram-04e74c0a.c4802b4a.js"),["./ganttDiagram-04e74c0a.c4802b4a.js","./_commonjsHelpers.725317a4.js","./init.77b53fdd.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:pl,diagram:t}},Dy={id:pl,detector:$y,loader:Iy},Ny=Dy,gl="info",Ry=t=>t.match(/^\s*info/)!==null,Py=async()=>{const{diagram:t}=await rt(()=>import("./infoDiagram-69ec1a58.1082338c.js"),["./infoDiagram-69ec1a58.1082338c.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:gl,diagram:t}},zy={id:gl,detector:Ry,loader:Py},Wy=zy,ml="pie",Hy=t=>t.match(/^\s*pie/)!==null,qy=async()=>{const{diagram:t}=await rt(()=>import("./pieDiagram-db1a8a21.2d8d6b83.js"),["./pieDiagram-db1a8a21.2d8d6b83.js","./init.77b53fdd.js","./array.9f3ba611.js","./path.53f90ab3.js","./arc.98e8e146.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ml,diagram:t}},jy={id:ml,detector:Hy,loader:qy},Uy=jy,_l="requirement",Vy=t=>t.match(/^\s*requirement(Diagram)?/)!==null,Gy=async()=>{const{diagram:t}=await rt(()=>import("./requirementDiagram-b9649942.dd4c150a.js"),["./requirementDiagram-b9649942.dd4c150a.js","./layout.e490e9ef.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:_l,diagram:t}},Yy={id:_l,detector:Vy,loader:Gy},Xy=Yy,yl="sequence",Ky=t=>t.match(/^\s*sequenceDiagram/)!==null,Zy=async()=>{const{diagram:t}=await rt(()=>import("./sequenceDiagram-446df3e4.a4c47347.js"),["./sequenceDiagram-446df3e4.a4c47347.js","./selectAll.3bc18744.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:yl,diagram:t}},Jy={id:yl,detector:Ky,loader:Zy},Qy=Jy,Cl="class",tC=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*classDiagram/)!==null},eC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-634fc78b.2c65684e.js"),["./classDiagram-634fc78b.2c65684e.js","./styles-16907e1b.4469fafb.js","./layout.e490e9ef.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Cl,diagram:t}},iC={id:Cl,detector:tC,loader:eC},rC=iC,bl="classDiagram",nC=(t,e)=>{var i;return t.match(/^\s*classDiagram/)!==null&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*classDiagram-v2/)!==null},oC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-v2-72bddc41.71367038.js"),["./classDiagram-v2-72bddc41.71367038.js","./styles-16907e1b.4469fafb.js","./layout.e490e9ef.js","./index-5219d011.c6c2c006.js","./edges-2e77835f.ce02d1cb.js","./createText-1f5f8f92.2cd7eed0.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:bl,diagram:t}},sC={id:bl,detector:nC,loader:oC},aC=sC,xl="state",lC=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*stateDiagram/)!==null},cC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-d53d2428.7b50b6b8.js"),["./stateDiagram-d53d2428.7b50b6b8.js","./styles-47a825a5.44d20f6f.js","./layout.e490e9ef.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:xl,diagram:t}},hC={id:xl,detector:lC,loader:cC},uC=hC,vl="stateDiagram",fC=(t,e)=>{var i,r;return!!(t.match(/^\s*stateDiagram-v2/)!==null||t.match(/^\s*stateDiagram/)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||t.match(/^\s*stateDiagram/)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},dC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-v2-9765461d.097fb5bb.js"),["./stateDiagram-v2-9765461d.097fb5bb.js","./styles-47a825a5.44d20f6f.js","./layout.e490e9ef.js","./index-5219d011.c6c2c006.js","./edges-2e77835f.ce02d1cb.js","./createText-1f5f8f92.2cd7eed0.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:vl,diagram:t}},pC={id:vl,detector:fC,loader:dC},gC=pC,Tl="journey",mC=t=>t.match(/^\s*journey/)!==null,_C=async()=>{const{diagram:t}=await rt(()=>import("./journeyDiagram-d38aa57d.f5d5005f.js"),["./journeyDiagram-d38aa57d.f5d5005f.js","./arc.98e8e146.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Tl,diagram:t}},yC={id:Tl,detector:mC,loader:_C},CC=yC,bC=()=>"",xC=bC,vC=function(){},TC=(t,e,i)=>{try{S.debug(`Renering svg for syntax error -`);const r=Mt("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){S.error("Error while rendering info diagram"),S.error(P0(r))}},Sl={setConf:vC,draw:TC},SC={db:{clear:()=>{}},styles:xC,renderer:Sl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},kC=SC,kl="flowchart-elk",wC=(t,e)=>{var i;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},BC=async()=>{const{diagram:t}=await rt(()=>import("./flowchart-elk-definition-a44a74cb.25914a24.js"),["./flowchart-elk-definition-a44a74cb.25914a24.js","./flowDb-52e24d17.7b23ed64.js","./edges-2e77835f.ce02d1cb.js","./createText-1f5f8f92.2cd7eed0.js","./svgDraw-2526cba0.08c6d93d.js","./line.dc626553.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:kl,diagram:t}},LC={id:kl,detector:wC,loader:BC},AC=LC,wl="timeline",EC=t=>t.match(/^\s*timeline/)!==null,FC=async()=>{const{diagram:t}=await rt(()=>import("./timeline-definition-de69aca6.f9fc43e9.js"),["./timeline-definition-de69aca6.f9fc43e9.js","./is_dark.4ca1afaa.js","./arc.98e8e146.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:wl,diagram:t}},MC={id:wl,detector:EC,loader:FC},OC=MC,Bl="mindmap",$C=t=>t.match(/^\s*mindmap/)!==null,IC=async()=>{const{diagram:t}=await rt(()=>import("./mindmap-definition-65b51176.b3fe0cfb.js"),["./mindmap-definition-65b51176.b3fe0cfb.js","./createText-1f5f8f92.2cd7eed0.js","./_commonjsHelpers.725317a4.js","./is_dark.4ca1afaa.js","./entry.8cfa8efb.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Bl,diagram:t}},DC={id:Bl,detector:$C,loader:IC},NC=DC;let ps=!1;const Xn=()=>{ps||(ps=!0,ar("error",kC,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Ya(_y,aC,rC,Ay,Ny,Wy,Uy,Xy,Qy,AC,ky,xy,NC,OC,Oy,gC,uC,CC))},RC=t=>t.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class Ll{constructor(e){var i,r;this.text=e,this.type="graph",this.text+=` + ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},b0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function x0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return _0[i]||e}function v0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Hs(i):i}const T0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=lr(o,e),e=o});let r=i/2,n;return e=void 0,t.forEach(o=>{if(e&&!n){const s=lr(o,e);if(s=1&&(n={x:o.x,y:o.y}),a>0&&a<1&&(n={x:(1-a)*e.x+a*o.x,y:(1-a)*e.y+a*o.y})}}e=o}),n}function k0(t){return t.length===1?t[0]:S0(t)}const w0=(t,e,i)=>{let r;S.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let o=25,s;r=void 0,e.forEach(h=>{if(r&&!s){const f=lr(h,r);if(f=1&&(s={x:h.x,y:h.y}),g>0&&g<1&&(s={x:(1-g)*r.x+g*h.x,y:(1-g)*r.y+g*h.y})}}r=h});const a=t?10:5,l=Math.atan2(e[0].y-s.y,e[0].x-s.x),c={x:0,y:0};return c.x=Math.sin(l)*a+(e[0].x+s.x)/2,c.y=-Math.cos(l)*a+(e[0].y+s.y)/2,c};function B0(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;S.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(f=>{n=f});let s=25+t,a;n=void 0,r.forEach(f=>{if(n&&!a){const g=lr(f,n);if(g=1&&(a={x:f.x,y:f.y}),d>0&&d<1&&(a={x:(1-d)*n.x+d*f.x,y:(1-d)*n.y+d*f.y})}}n=f});const l=10+t*.5,c=Math.atan2(r[0].y-a.y,r[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(c)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2,e==="start_left"&&(h.x=Math.sin(c+Math.PI)*l+(r[0].x+a.x)/2,h.y=-Math.cos(c+Math.PI)*l+(r[0].y+a.y)/2),e==="end_right"&&(h.x=Math.sin(c-Math.PI)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c-Math.PI)*l+(r[0].y+a.y)/2-5),e==="end_left"&&(h.x=Math.sin(c)*l+(r[0].x+a.x)/2-5,h.y=-Math.cos(c)*l+(r[0].y+a.y)/2-5),h}function L0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ts=0;const A0=()=>(ts++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ts);function E0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nE0(t.length),M0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},O0=function(t,e){const i=e.text.replace(Tn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},$0=fi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Tn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=cr(`${s} `,i),c=cr(o,i);if(l>e){const{hyphenatedStrings:g,remainingWord:d}=I0(s,e,"-",i);n.push(o,...g),o=d}else c+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),I0=fi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const c=`${s}${a}`;if(cr(c,r)>=e){const f=l+1,g=n.length===f,d=`${c}${i}`;o.push(g?c:d),s=""}else s=c}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function D0(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),jn(t,e).height}function cr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),jn(t,e).width}const jn=fi((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Tn.lineBreakRegex),l=[],c=Mt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const h=c.append("svg");for(const g of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const F=M0();F.text=k;const R=O0(h,F).style("font-size",o).style("font-weight",n).style("font-family",g),x=(R._groups||R)[0][0].getBBox();if(x.width===0&&x.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,x.width)),d=Math.round(x.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}h.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),N0=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let wi;const R0=function(t){return wi=wi||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),wi.innerHTML=t,unescape(wi.textContent)},De=t=>{if(S.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>De(e)):Object.keys(t).forEach(e=>{S.debug("Checking key",e),e.startsWith("__")&&(S.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(S.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(S.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(S.debug("sanitizing themeCss option"),t[e]=Ni(t[e])),e.includes("fontFamily")&&(S.debug("sanitizing fontFamily option"),t[e]=Ni(t[e])),e.includes("altFontFamily")&&(S.debug("sanitizing altFontFamily option"),t[e]=Ni(t[e])),ah.includes(e)?typeof t[e]=="object"&&(S.debug("sanitize deleting object",e),De(t[e])):(S.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}S.debug("After sanitization",t)},Ni=t=>{let e=0,i=0;for(const r of t){if(e{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},Ri={assignWithDepth:lt,wrapLabel:$0,calculateTextHeight:D0,calculateTextWidth:cr,calculateTextDimensions:jn,detectInit:C0,detectDirective:Ka,isSubstringInArray:b0,interpolateToCurve:x0,calcLabelPosition:k0,calcCardinalityPosition:w0,calcTerminalLabelPosition:B0,formatUrl:v0,getStylesFromArray:L0,generateId:A0,random:F0,runFunc:T0,entityDecode:R0,initIdGenerator:N0,directiveSanitizer:De,sanitizeCss:Ni,insertTitle:z0,parseFontSize:Un};var Ja="comm",Qa="rule",tl="decl",W0="@import",H0="@keyframes",q0=Math.abs,Vn=String.fromCharCode;function el(t){return t.trim()}function Pi(t,e,i){return t.replace(e,i)}function j0(t,e){return t.indexOf(e)}function ai(t,e){return t.charCodeAt(e)|0}function li(t,e,i){return t.slice(e,i)}function Zt(t){return t.length}function il(t){return t.length}function Bi(t,e){return e.push(t),t}var wr=1,Ne=1,rl=0,Tt=0,J=0,ze="";function Gn(t,e,i,r,n,o,s){return{value:t,root:e,parent:i,type:r,props:n,children:o,line:wr,column:Ne,length:s,return:""}}function U0(){return J}function V0(){return J=Tt>0?ai(ze,--Tt):0,Ne--,J===10&&(Ne=1,wr--),J}function Lt(){return J=Tt2||pn(J)>3?"":" "}function K0(t,e){for(;--e&&Lt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Br(t,zi()+(e<6&&pe()==32&&Lt()==32))}function gn(t){for(;Lt();)switch(J){case t:return Tt;case 34:case 39:t!==34&&t!==39&&gn(J);break;case 40:t===41&&gn(t);break;case 92:Lt();break}return Tt}function Z0(t,e){for(;Lt()&&t+J!==47+10;)if(t+J===42+42&&pe()===47)break;return"/*"+Br(e,Tt-1)+"*"+Vn(t===47?t:Lt())}function J0(t){for(;!pn(pe());)Lt();return Br(t,Tt)}function Q0(t){return Y0(Wi("",null,null,null,[""],t=G0(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var c=0,h=0,f=s,g=0,d=0,_=0,k=1,F=1,R=1,x=0,q="",G=n,X=o,V=r,P=q;F;)switch(_=x,x=Lt()){case 40:if(_!=108&&ai(P,f-1)==58){j0(P+=Pi(Jr(x),"&","&\f"),"&\f")!=-1&&(R=-1);break}case 34:case 39:case 91:P+=Jr(x);break;case 9:case 10:case 13:case 32:P+=X0(_);break;case 92:P+=K0(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Bi(t_(Z0(Lt(),zi()),e,i),l);break;default:P+="/"}break;case 123*k:a[c++]=Zt(P)*R;case 125*k:case 59:case 0:switch(x){case 0:case 125:F=0;case 59+h:R==-1&&(P=Pi(P,/\f/g,"")),d>0&&Zt(P)-f&&Bi(d>32?is(P+";",r,i,f-1):is(Pi(P," ","")+";",r,i,f-2),l);break;case 59:P+=";";default:if(Bi(V=es(P,e,i,c,h,n,a,q,G=[],X=[],f),o),x===123)if(h===0)Wi(P,e,V,V,G,o,f,a,X);else switch(g===99&&ai(P,3)===110?100:g){case 100:case 109:case 115:Wi(t,V,V,r&&Bi(es(t,V,V,0,0,n,a,q,n,G=[],f),X),n,X,f,a,r?G:X);break;default:Wi(P,V,V,V,[""],X,0,a,X)}}c=h=d=0,k=R=1,q=P="",f=s;break;case 58:f=1+Zt(P),d=_;default:if(k<1){if(x==123)--k;else if(x==125&&k++==0&&V0()==125)continue}switch(P+=Vn(x),x*k){case 38:R=h>0?1:(P+="\f",-1);break;case 44:a[c++]=(Zt(P)-1)*R,R=1;break;case 64:pe()===45&&(P+=Jr(Lt())),g=pe(),h=f=Zt(q=P+=J0(zi())),x++;break;case 45:_===45&&Zt(P)==2&&(k=0)}}return o}function es(t,e,i,r,n,o,s,a,l,c,h){for(var f=n-1,g=n===0?o:[""],d=il(g),_=0,k=0,F=0;_0?g[R]+" "+x:Pi(x,/&\f/g,g[R])))&&(l[F++]=q);return Gn(t,e,i,n===0?Qa:a,l,c,h)}function t_(t,e,i){return Gn(t,e,i,Ja,Vn(U0()),li(t,2,-2),0)}function is(t,e,i,r){return Gn(t,e,i,tl,li(t,0,r),li(t,r+1,-1),r)}function mn(t,e){for(var i="",r=il(t),n=0;n-1&&t%1==0&&t<=B_}function L_(t){return t!=null&&sl(t.length)&&!Ea(t)}function A_(){return!1}var al=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cs=al&&typeof module=="object"&&module&&!module.nodeType&&module,E_=cs&&cs.exports===al,hs=E_?re.Buffer:void 0,F_=hs?hs.isBuffer:void 0,M_=F_||A_;const O_=M_;var $_="[object Arguments]",I_="[object Array]",D_="[object Boolean]",N_="[object Date]",R_="[object Error]",P_="[object Function]",z_="[object Map]",W_="[object Number]",H_="[object Object]",q_="[object RegExp]",j_="[object Set]",U_="[object String]",V_="[object WeakMap]",G_="[object ArrayBuffer]",Y_="[object DataView]",X_="[object Float32Array]",K_="[object Float64Array]",Z_="[object Int8Array]",J_="[object Int16Array]",Q_="[object Int32Array]",ty="[object Uint8Array]",ey="[object Uint8ClampedArray]",iy="[object Uint16Array]",ry="[object Uint32Array]",Y={};Y[X_]=Y[K_]=Y[Z_]=Y[J_]=Y[Q_]=Y[ty]=Y[ey]=Y[iy]=Y[ry]=!0;Y[$_]=Y[I_]=Y[G_]=Y[D_]=Y[Y_]=Y[N_]=Y[R_]=Y[P_]=Y[z_]=Y[W_]=Y[H_]=Y[q_]=Y[j_]=Y[U_]=Y[V_]=!1;function ny(t){return Yn(t)&&sl(t.length)&&!!Y[ui(t)]}function oy(t){return function(e){return t(e)}}var ll=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Je=ll&&typeof module=="object"&&module&&!module.nodeType&&module,sy=Je&&Je.exports===ll,Qr=sy&&Ba.process,ay=function(){try{var t=Je&&Je.require&&Je.require("util").types;return t||Qr&&Qr.binding&&Qr.binding("util")}catch{}}();const us=ay;var fs=us&&us.isTypedArray,ly=fs?oy(fs):ny;const cy=ly;var hy="[object Map]",uy="[object Set]",fy=Object.prototype,dy=fy.hasOwnProperty;function Hi(t){if(t==null)return!0;if(L_(t)&&(w_(t)||typeof t=="string"||typeof t.splice=="function"||O_(t)||cy(t)||S_(t)))return!t.length;var e=C_(t);if(e==hy||e==uy)return!t.size;if(nl(t))return!l_(t).length;for(var i in t)if(dy.call(t,i))return!1;return!0}const ds="10.1.0",cl="c4",py=t=>t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null,gy=async()=>{const{diagram:t}=await rt(()=>import("./c4Diagram-44c43e89.598c20e5.js"),["./c4Diagram-44c43e89.598c20e5.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:cl,diagram:t}},my={id:cl,detector:py,loader:gy},_y=my,hl="flowchart",yy=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null},Cy=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-46a15f6f.b33a89eb.js"),["./flowDiagram-46a15f6f.b33a89eb.js","./flowDb-52e24d17.7a28c8bc.js","./layout.11303474.js","./styles-26373982.92ac74e5.js","./index-5219d011.3b2aa214.js","./edges-2e77835f.ec894958.js","./createText-1f5f8f92.9af55188.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.41f6743d.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:hl,diagram:t}},by={id:hl,detector:yy,loader:Cy},xy=by,ul="flowchart-v2",vy=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*flowchart/)!==null},Ty=async()=>{const{diagram:t}=await rt(()=>import("./flowDiagram-v2-8e52592d.ea8f8dbe.js"),["./flowDiagram-v2-8e52592d.ea8f8dbe.js","./flowDb-52e24d17.7a28c8bc.js","./styles-26373982.92ac74e5.js","./layout.11303474.js","./index-5219d011.3b2aa214.js","./edges-2e77835f.ec894958.js","./createText-1f5f8f92.9af55188.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./selectAll.41f6743d.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ul,diagram:t}},Sy={id:ul,detector:vy,loader:Ty},ky=Sy,fl="er",wy=t=>t.match(/^\s*erDiagram/)!==null,By=async()=>{const{diagram:t}=await rt(()=>import("./erDiagram-20cc9db4.a89bb4e0.js"),["./erDiagram-20cc9db4.a89bb4e0.js","./layout.11303474.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:fl,diagram:t}},Ly={id:fl,detector:wy,loader:By},Ay=Ly,dl="gitGraph",Ey=t=>t.match(/^\s*gitGraph/)!==null,Fy=async()=>{const{diagram:t}=await rt(()=>import("./gitGraphDiagram-0a645df6.9a215aa5.js"),["./gitGraphDiagram-0a645df6.9a215aa5.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:dl,diagram:t}},My={id:dl,detector:Ey,loader:Fy},Oy=My,pl="gantt",$y=t=>t.match(/^\s*gantt/)!==null,Iy=async()=>{const{diagram:t}=await rt(()=>import("./ganttDiagram-04e74c0a.79b32038.js"),["./ganttDiagram-04e74c0a.79b32038.js","./_commonjsHelpers.725317a4.js","./init.77b53fdd.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:pl,diagram:t}},Dy={id:pl,detector:$y,loader:Iy},Ny=Dy,gl="info",Ry=t=>t.match(/^\s*info/)!==null,Py=async()=>{const{diagram:t}=await rt(()=>import("./infoDiagram-69ec1a58.344cc858.js"),["./infoDiagram-69ec1a58.344cc858.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:gl,diagram:t}},zy={id:gl,detector:Ry,loader:Py},Wy=zy,ml="pie",Hy=t=>t.match(/^\s*pie/)!==null,qy=async()=>{const{diagram:t}=await rt(()=>import("./pieDiagram-db1a8a21.c86cd96c.js"),["./pieDiagram-db1a8a21.c86cd96c.js","./init.77b53fdd.js","./array.9f3ba611.js","./path.53f90ab3.js","./arc.16fae886.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:ml,diagram:t}},jy={id:ml,detector:Hy,loader:qy},Uy=jy,_l="requirement",Vy=t=>t.match(/^\s*requirement(Diagram)?/)!==null,Gy=async()=>{const{diagram:t}=await rt(()=>import("./requirementDiagram-b9649942.0b67fd69.js"),["./requirementDiagram-b9649942.0b67fd69.js","./layout.11303474.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:_l,diagram:t}},Yy={id:_l,detector:Vy,loader:Gy},Xy=Yy,yl="sequence",Ky=t=>t.match(/^\s*sequenceDiagram/)!==null,Zy=async()=>{const{diagram:t}=await rt(()=>import("./sequenceDiagram-446df3e4.3875c8cc.js"),["./sequenceDiagram-446df3e4.3875c8cc.js","./selectAll.41f6743d.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:yl,diagram:t}},Jy={id:yl,detector:Ky,loader:Zy},Qy=Jy,Cl="class",tC=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*classDiagram/)!==null},eC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-634fc78b.3ad17352.js"),["./classDiagram-634fc78b.3ad17352.js","./styles-16907e1b.a9f67e6d.js","./layout.11303474.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Cl,diagram:t}},iC={id:Cl,detector:tC,loader:eC},rC=iC,bl="classDiagram",nC=(t,e)=>{var i;return t.match(/^\s*classDiagram/)!==null&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*classDiagram-v2/)!==null},oC=async()=>{const{diagram:t}=await rt(()=>import("./classDiagram-v2-72bddc41.a5e950e0.js"),["./classDiagram-v2-72bddc41.a5e950e0.js","./styles-16907e1b.a9f67e6d.js","./layout.11303474.js","./index-5219d011.3b2aa214.js","./edges-2e77835f.ec894958.js","./createText-1f5f8f92.9af55188.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:bl,diagram:t}},sC={id:bl,detector:nC,loader:oC},aC=sC,xl="state",lC=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*stateDiagram/)!==null},cC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-d53d2428.fce45b47.js"),["./stateDiagram-d53d2428.fce45b47.js","./styles-47a825a5.f21cee13.js","./layout.11303474.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:xl,diagram:t}},hC={id:xl,detector:lC,loader:cC},uC=hC,vl="stateDiagram",fC=(t,e)=>{var i,r;return!!(t.match(/^\s*stateDiagram-v2/)!==null||t.match(/^\s*stateDiagram/)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||t.match(/^\s*stateDiagram/)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},dC=async()=>{const{diagram:t}=await rt(()=>import("./stateDiagram-v2-9765461d.321e8498.js"),["./stateDiagram-v2-9765461d.321e8498.js","./styles-47a825a5.f21cee13.js","./layout.11303474.js","./index-5219d011.3b2aa214.js","./edges-2e77835f.ec894958.js","./createText-1f5f8f92.9af55188.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:vl,diagram:t}},pC={id:vl,detector:fC,loader:dC},gC=pC,Tl="journey",mC=t=>t.match(/^\s*journey/)!==null,_C=async()=>{const{diagram:t}=await rt(()=>import("./journeyDiagram-d38aa57d.31553d3d.js"),["./journeyDiagram-d38aa57d.31553d3d.js","./arc.16fae886.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Tl,diagram:t}},yC={id:Tl,detector:mC,loader:_C},CC=yC,bC=()=>"",xC=bC,vC=function(){},TC=(t,e,i)=>{try{S.debug(`Renering svg for syntax error +`);const r=Mt("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){S.error("Error while rendering info diagram"),S.error(P0(r))}},Sl={setConf:vC,draw:TC},SC={db:{clear:()=>{}},styles:xC,renderer:Sl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},kC=SC,kl="flowchart-elk",wC=(t,e)=>{var i;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},BC=async()=>{const{diagram:t}=await rt(()=>import("./flowchart-elk-definition-a44a74cb.2e91d6bb.js"),["./flowchart-elk-definition-a44a74cb.2e91d6bb.js","./flowDb-52e24d17.7a28c8bc.js","./edges-2e77835f.ec894958.js","./createText-1f5f8f92.9af55188.js","./svgDraw-2526cba0.1cdd2cec.js","./line.2cebc606.js","./array.9f3ba611.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:kl,diagram:t}},LC={id:kl,detector:wC,loader:BC},AC=LC,wl="timeline",EC=t=>t.match(/^\s*timeline/)!==null,FC=async()=>{const{diagram:t}=await rt(()=>import("./timeline-definition-de69aca6.8dd8ddd6.js"),["./timeline-definition-de69aca6.8dd8ddd6.js","./is_dark.0e136d46.js","./arc.16fae886.js","./path.53f90ab3.js","./_commonjsHelpers.725317a4.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:wl,diagram:t}},MC={id:wl,detector:EC,loader:FC},OC=MC,Bl="mindmap",$C=t=>t.match(/^\s*mindmap/)!==null,IC=async()=>{const{diagram:t}=await rt(()=>import("./mindmap-definition-65b51176.3be4f017.js"),["./mindmap-definition-65b51176.3be4f017.js","./createText-1f5f8f92.9af55188.js","./_commonjsHelpers.725317a4.js","./is_dark.0e136d46.js","./entry.363473ce.js","./entry.ef5cffd5.css"],import.meta.url);return{id:Bl,diagram:t}},DC={id:Bl,detector:$C,loader:IC},NC=DC;let ps=!1;const Xn=()=>{ps||(ps=!0,ar("error",kC,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Ya(_y,aC,rC,Ay,Ny,Wy,Uy,Xy,Qy,AC,ky,xy,NC,OC,Oy,gC,uC,CC))},RC=t=>t.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class Ll{constructor(e){var i,r;this.text=e,this.type="graph",this.text+=` `;const n=Vt();try{this.type=kr(e,n)}catch(a){this.type="error",this.detectError=a}const o=qn(this.type);S.debug("Type "+this.type),this.db=o.db,(r=(i=this.db).clear)==null||r.call(i),this.renderer=o.renderer,this.parser=o.parser;const s=this.parser.parse.bind(this.parser);this.parser.parse=a=>s(RC(Jm(a,this.db))),this.parser.parser.yy=this.db,o.init&&(o.init(n),S.info("Initialized diagram "+this.type,n)),this.parse()}parse(){var e,i;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const Kn=async t=>{const e=kr(t,Vt());try{qn(e)}catch{const r=m0(e);if(!r)throw new Ga(`Diagram ${e} not found.`);const{id:n,diagram:o}=await r();ar(n,o)}return new Ll(t)};let xn=[];const zb=t=>{xn.push(t)},PC=()=>{xn.forEach(t=>{t()}),xn=[]},zC="graphics-document document";function WC(t,e){t.attr("role",zC),Hi(e)||t.attr("aria-roledescription",e)}function HC(t,e,i,r){if(t.insert!==void 0)if(e||i){if(i){const n="chart-desc-"+r;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n="chart-title-"+r;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}else return}const Al=["graph","flowchart","flowchart-v2","flowchart-elk","stateDiagram","stateDiagram-v2"],qC=5e4,jC="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",UC="sandbox",VC="loose",GC="http://www.w3.org/2000/svg",YC="http://www.w3.org/1999/xlink",XC="http://www.w3.org/1999/xhtml",KC="100%",ZC="100%",JC="border:0;margin:0;",QC="margin:0",tb="allow-top-navigation-by-user-activation allow-popups",eb='The "iframe" tag is not supported by your browser.',ib=["foreignobject"],rb=["dominant-baseline"];async function nb(t,e){Xn();try{(await Kn(t)).parse()}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const ob=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},sb=function(t){let e=t;return e=e.replace(/fl°°/g,"&#"),e=e.replace(/fl°/g,"&"),e=e.replace(/¶ß/g,";"),e},gs=(t,e,i=[])=>` .${t} ${e} { ${i.join(" !important; ")} !important; }`,ab=(t,e,i={})=>{var r;let n="";if(t.themeCSS!==void 0&&(n+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(n+=` diff --git a/_nuxt/mindmap-definition-65b51176.b3fe0cfb.js b/_nuxt/mindmap-definition-65b51176.3be4f017.js similarity index 99% rename from _nuxt/mindmap-definition-65b51176.b3fe0cfb.js rename to _nuxt/mindmap-definition-65b51176.3be4f017.js index 4ced626871..792fc0423d 100644 --- a/_nuxt/mindmap-definition-65b51176.b3fe0cfb.js +++ b/_nuxt/mindmap-definition-65b51176.3be4f017.js @@ -1,4 +1,4 @@ -import{d as bp,c as nn,l as qr,i as ei,u as Ep,aE as wp,aF as xp}from"./mermaid.core.6d8597df.js";import{c as Tp}from"./createText-1f5f8f92.2cd7eed0.js";import{c as Ca,g as Vu}from"./_commonjsHelpers.725317a4.js";import{i as Cp}from"./is_dark.4ca1afaa.js";import"./entry.8cfa8efb.js";var _u={exports:{}};(function(pe,fe){(function(ee,ce){pe.exports=ce()})(Ca,function(){function ee(t){"@babel/helpers - typeof";return ee=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ee(t)}function ce(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function H(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,a=new Array(e);rt.length)&&(e=t.length);for(var r=0,a=new Array(e);r"u"?null:window,V=D?D.navigator:null;D&&D.document;var _=ee(""),Q=ee({}),ne=ee(function(){}),ue=typeof HTMLElement>"u"?"undefined":ee(HTMLElement),J=function(e){return e&&e.instanceString&&Y(e.instanceString)?e.instanceString():null},j=function(e){return e!=null&&ee(e)==_},Y=function(e){return e!=null&&ee(e)===ne},te=function(e){return!ge(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},L=function(e){return e!=null&&ee(e)===Q&&!te(e)&&e.constructor===Object},$=function(e){return e!=null&&ee(e)===Q},k=function(e){return e!=null&&ee(e)===ee(1)&&!isNaN(e)},q=function(e){return k(e)&&Math.floor(e)===e},he=function(e){if(ue!=="undefined")return e!=null&&e instanceof HTMLElement},ge=function(e){return Ae(e)||Ne(e)},Ae=function(e){return J(e)==="collection"&&e._private.single},Ne=function(e){return J(e)==="collection"&&!e._private.single},_e=function(e){return J(e)==="core"},tt=function(e){return J(e)==="stylesheet"},ct=function(e){return J(e)==="event"},Pe=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},$e=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},Xe=function(e){return L(e)&&k(e.x1)&&k(e.x2)&&k(e.y1)&&k(e.y2)},rt=function(e){return $(e)&&Y(e.then)},lt=function(){return V&&V.userAgent.match(/msie|trident|edge/i)},nt=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;sr?1:0},Ju=function(e,r){return-1*Ji(e,r)},Ue=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(y-=1),y<1/6?d+(g-d)*6*y:y<1/2?g:y<2/3?d+(g-d)*(2/3-y)*6:d}var h=new RegExp("^"+on+"$").exec(e);if(h){if(a=parseInt(h[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(h[2]),n<0||n>100||(n=n/100,i=parseFloat(h[3]),i<0||i>100)||(i=i/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=l=u=Math.round(i*255);else{var c=i<.5?i*(1+n):i+n-i*n,v=2*i-c;o=Math.round(255*f(v,c,a+1/3)),l=Math.round(255*f(v,c,a)),u=Math.round(255*f(v,c,a-1/3))}r=[o,l,u,s]}return r},tl=function(e){var r,a=new RegExp("^"+vr+"$").exec(e);if(a){r=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=n[1]||n[2]||n[3],l=n[1]&&n[2]&&n[3];if(o&&!l)return;var u=a[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},rl=function(e){return nl[e.toLowerCase()]},al=function(e){return(te(e)?e:null)||rl(e)||ju(e)||tl(e)||el(e)},nl={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ji=function(e){for(var r=e.map,a=e.keys,n=a.length,i=0;i=e||w<0||h&&I>=i}function p(){var A=ti();if(y(A))return m(A);o=setTimeout(p,g(A))}function m(A){return o=void 0,c&&a?v(A):(a=n=void 0,s)}function b(){o!==void 0&&clearTimeout(o),u=0,a=l=n=o=void 0}function E(){return o===void 0?s:m(ti())}function M(){var A=ti(),w=y(A);if(a=arguments,n=this,l=A,w){if(o===void 0)return d(l);if(h)return clearTimeout(o),o=setTimeout(p,e),v(l)}return o===void 0&&(o=setTimeout(p,e)),s}return M.cancel=b,M.flush=E,M}var ln=_l,ri=D?D.performance:null,ss=ri&&ri.now?function(){return ri.now()}:function(){return Date.now()},Ul=function(){if(D){if(D.requestAnimationFrame)return function(t){D.requestAnimationFrame(t)};if(D.mozRequestAnimationFrame)return function(t){D.mozRequestAnimationFrame(t)};if(D.webkitRequestAnimationFrame)return function(t){D.webkitRequestAnimationFrame(t)};if(D.msRequestAnimationFrame)return function(t){D.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(ss())},1e3/60)}}(),fn=function(e){return Ul(e)},dr=ss,Qr=9261,os=65599,Oa=5381,us=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qr,a=r,n;n=e.next(),!n.done;)a=a*os+n.value|0;return a},Na=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qr;return r*os+e|0},Ma=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Oa;return(r<<5)+r+e|0},Yl=function(e,r){return e*2097152+r},Er=function(e){return e[0]*2097152+e[1]},hn=function(e,r){return[Na(e[0],r[0]),Ma(e[1],r[1])]},Hl=function(e,r){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0&&!(e[n]===r&&(e.splice(n,1),a));n--);},ii=function(e){e.splice(0,e.length)},Jl=function(e,r){for(var a=0;a"u"?"undefined":ee(Set))!==ef?Set:tf,vn=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!_e(e)){xt("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){xt("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?n==="edges":!!r.pannable,active:!1,classes:new Jr,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();i.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];te(r.classes)?u=r.classes:j(r.classes)&&(u=r.classes.split(/\s+/));for(var f=0,h=u.length;fm?1:0},f=function(p,m,b,E,M){var A;if(b==null&&(b=0),M==null&&(M=a),b<0)throw new Error("lo must be non-negative");for(E==null&&(E=p.length);bB;0<=B?C++:C--)I.push(C);return I}).apply(this).reverse(),w=[],E=0,M=A.length;EF;0<=F?++I:--I)R.push(s(p,b));return R},g=function(p,m,b,E){var M,A,w;for(E==null&&(E=a),M=p[b];b>m;){if(w=b-1>>1,A=p[w],E(M,A)<0){p[b]=A,b=w;continue}break}return p[b]=M},y=function(p,m,b){var E,M,A,w,I;for(b==null&&(b=a),M=p.length,I=m,A=p[m],E=2*m+1;E0;){var A=m.pop(),w=y(A),I=A.id();if(c[I]=w,w!==1/0)for(var C=A.neighborhood().intersect(d),B=0;B0)for(ie.unshift(Z);h[de];){var se=h[de];ie.unshift(se.edge),ie.unshift(se.node),oe=se.node,de=oe.id()}return o.spawn(ie)}}}},sf={kruskal:function(e){e=e||function(b){return 1};for(var r=this.byGroup(),a=r.nodes,n=r.edges,i=a.length,s=new Array(i),o=a,l=function(E){for(var M=0;M0;){if(M(),w++,E===f){for(var I=[],C=i,B=f,F=p[B];I.unshift(C),F!=null&&I.unshift(F),C=y[B],C!=null;)B=C.id(),F=p[B];return{found:!0,distance:h[E],path:this.spawn(I),steps:w}}v[E]=!0;for(var R=b._private.edges,X=0;XF&&(d[B]=F,m[B]=C,b[B]=M),!i){var R=C*f+I;!i&&d[R]>F&&(d[R]=F,m[R]=I,b[R]=M)}}}for(var X=0;X1&&arguments[1]!==void 0?arguments[1]:s,et=b(ke),We=[],Ye=et;;){if(Ye==null)return r.spawn();var Se=m(Ye),N=Se.edge,le=Se.pred;if(We.unshift(Ye[0]),Ye.same(Ge)&&We.length>0)break;N!=null&&We.unshift(N),Ye=le}return l.spawn(We)},A=0;A=0;f--){var h=u[f],c=h[1],v=h[2];(r[c]===o&&r[v]===l||r[c]===l&&r[v]===o)&&u.splice(f,1)}for(var d=0;dn;){var i=Math.floor(Math.random()*r.length);r=df(i,e,r),a--}return r},gf={kargerStein:function(){var e=this,r=this.byGroup(),a=r.nodes,n=r.edges;n.unmergeBy(function(ie){return ie.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/vf);if(i<2){xt("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,a):(a0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}i&&e.sort(function(c,v){return c-v});var f=e.length,h=Math.floor(f/2);return f%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},wf=function(e){return Math.PI*e/180},gn=function(e,r){return Math.atan2(r,e)-Math.PI/2},oi=Math.log2||function(t){return Math.log(t)/Math.log(2)},ms=function(e){return e>0?1:e<0?-1:0},Pr=function(e,r){return Math.sqrt(Br(e,r))},Br=function(e,r){var a=r.x-e.x,n=r.y-e.y;return a*a+n*n},xf=function(e){for(var r=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},Cf=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},Df=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},Sf=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},Lf=function(e,r,a){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},pn=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},ui=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(r.length===1)a=n=i=s=r[0];else if(r.length===2)a=i=r[0],s=n=r[1];else if(r.length===4){var o=x(r,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},bs=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},li=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},ta=function(e,r,a){return e.x1<=r&&r<=e.x2&&e.y1<=a&&a<=e.y2},Af=function(e,r){return ta(e,r.x,r.y)},Es=function(e,r){return ta(e,r.x1,r.y1)&&ta(e,r.x2,r.y2)},ws=function(e,r,a,n,i,s,o){var l=Fa(i,s),u=i/2,f=s/2,h;{var c=a-u+l-o,v=n-f-o,d=a+u-l+o,g=v;if(h=Tr(e,r,a,n,c,v,d,g,!1),h.length>0)return h}{var y=a+u+o,p=n-f+l-o,m=y,b=n+f-l+o;if(h=Tr(e,r,a,n,y,p,m,b,!1),h.length>0)return h}{var E=a-u+l-o,M=n+f+o,A=a+u-l+o,w=M;if(h=Tr(e,r,a,n,E,M,A,w,!1),h.length>0)return h}{var I=a-u-o,C=n-f+l-o,B=I,F=n+f-l+o;if(h=Tr(e,r,a,n,I,C,B,F,!1),h.length>0)return h}var R;{var X=a-u+l,z=n-f+l;if(R=Pa(e,r,a,n,X,z,l+o),R.length>0&&R[0]<=X&&R[1]<=z)return[R[0],R[1]]}{var re=a+u-l,W=n-f+l;if(R=Pa(e,r,a,n,re,W,l+o),R.length>0&&R[0]>=re&&R[1]<=W)return[R[0],R[1]]}{var Z=a+u-l,ie=n+f-l;if(R=Pa(e,r,a,n,Z,ie,l+o),R.length>0&&R[0]>=Z&&R[1]>=ie)return[R[0],R[1]]}{var oe=a-u+l,de=n+f-l;if(R=Pa(e,r,a,n,oe,de,l+o),R.length>0&&R[0]<=oe&&R[1]>=de)return[R[0],R[1]]}return[]},Of=function(e,r,a,n,i,s,o){var l=o,u=Math.min(a,i),f=Math.max(a,i),h=Math.min(n,s),c=Math.max(n,s);return u-l<=e&&e<=f+l&&h-l<=r&&r<=c+l},Nf=function(e,r,a,n,i,s,o,l,u){var f={x1:Math.min(a,o,i)-u,x2:Math.max(a,o,i)+u,y1:Math.min(n,l,s)-u,y2:Math.max(n,l,s)+u};return!(ef.x2||rf.y2)},Mf=function(e,r,a,n){a-=n;var i=r*r-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},If=function(e,r,a,n,i){var s=1e-5;e===0&&(e=s),r/=e,a/=e,n/=e;var o,l,u,f,h,c,v,d;if(l=(3*a-r*r)/9,u=-(27*n)+r*(9*a-2*(r*r)),u/=54,o=l*l*l+u*u,i[1]=0,v=r/3,o>0){h=u+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),c=u-Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-v+h+c,v+=(h+c)/2,i[4]=i[2]=-v,v=Math.sqrt(3)*(-c+h)/2,i[3]=v,i[5]=-v;return}if(i[5]=i[3]=0,o===0){d=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-v+2*d,i[4]=i[2]=-(d+v);return}l=-l,f=l*l*l,f=Math.acos(u/Math.sqrt(f)),d=2*Math.sqrt(l),i[0]=-v+d*Math.cos(f/3),i[2]=-v+d*Math.cos((f+2*Math.PI)/3),i[4]=-v+d*Math.cos((f+4*Math.PI)/3)},Rf=function(e,r,a,n,i,s,o,l){var u=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*l+4*s*s-4*s*l+l*l,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*l-6*s*s+3*s*l,h=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*l-n*r+2*s*s+2*s*r-l*r,c=1*a*i-a*a+a*e-i*e+n*s-n*n+n*r-s*r,v=[];If(u,f,h,c,v);for(var d=1e-7,g=[],y=0;y<6;y+=2)Math.abs(v[y+1])=0&&v[y]<=1&&g.push(v[y]);g.push(1),g.push(0);for(var p=-1,m,b,E,M=0;M=0?Eu?(e-i)*(e-i)+(r-s)*(r-s):f-c},Yt=function(e,r,a){for(var n,i,s,o,l,u=0,f=0;f=e&&e>=s||n<=e&&e<=s)l=(e-n)/(s-n)*(o-i)+i,l>r&&u++;else continue;return u%2!==0},gr=function(e,r,a,n,i,s,o,l,u){var f=new Array(a.length),h;l[0]!=null?(h=Math.atan(l[1]/l[0]),l[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=l;for(var c=Math.cos(-h),v=Math.sin(-h),d=0;d0){var y=Ts(f,-u);g=xs(y)}else g=f;return Yt(e,r,g)},Pf=function(e,r,a,n,i,s,o){for(var l=new Array(a.length),u=s/2,f=o/2,h=ci(s,o),c=h*h,v=0;v=0&&y<=1&&m.push(y),p>=0&&p<=1&&m.push(p),m.length===0)return[];var b=m[0]*l[0]+e,E=m[0]*l[1]+r;if(m.length>1){if(m[0]==m[1])return[b,E];var M=m[1]*l[0]+e,A=m[1]*l[1]+r;return[b,E,M,A]}else return[b,E]},fi=function(e,r,a){return r<=e&&e<=a||a<=e&&e<=r?e:e<=r&&r<=a||a<=r&&r<=e?r:a},Tr=function(e,r,a,n,i,s,o,l,u){var f=e-i,h=a-e,c=o-i,v=r-s,d=n-r,g=l-s,y=c*v-g*f,p=h*v-d*f,m=g*h-c*d;if(m!==0){var b=y/m,E=p/m,M=.001,A=0-M,w=1+M;return A<=b&&b<=w&&A<=E&&E<=w?[e+b*h,r+b*d]:u?[e+b*h,r+b*d]:[]}else return y===0||p===0?fi(e,a,o)===o?[o,l]:fi(e,a,i)===i?[i,s]:fi(i,o,a)===a?[a,n]:[]:[]},Ba=function(e,r,a,n,i,s,o,l){var u=[],f,h=new Array(a.length),c=!0;s==null&&(c=!1);var v;if(c){for(var d=0;d0){var g=Ts(h,-l);v=xs(g)}else v=h}else v=a;for(var y,p,m,b,E=0;E2){for(var W=[u[0],u[1]],Z=Math.pow(W[0]-e,2)+Math.pow(W[1]-r,2),ie=1;ief&&(f=E)},get:function(b){return u[b]}},c=0;c0?W=re.edgesTo(z)[0]:W=z.edgesTo(re)[0];var Z=n(W);z=z.id(),I[z]>I[R]+Z&&(I[z]=I[R]+Z,C.nodes.indexOf(z)<0?C.push(z):C.updateItem(z),w[z]=0,A[z]=[]),I[z]==I[R]+Z&&(w[z]=w[z]+w[R],A[z].push(R))}else for(var ie=0;ie0;){for(var ve=M.pop(),we=0;we0&&o.push(a[l]);o.length!==0&&i.push(n.collection(o))}return i},Qf=function(e,r){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:eh,o=n,l,u,f=0;f=2?za(e,r,a,0,Is,th):za(e,r,a,0,Ms)},squaredEuclidean:function(e,r,a){return za(e,r,a,0,Is)},manhattan:function(e,r,a){return za(e,r,a,0,Ms)},max:function(e,r,a){return za(e,r,a,-1/0,rh)}};na["squared-euclidean"]=na.squaredEuclidean,na.squaredeuclidean=na.squaredEuclidean;function mn(t,e,r,a,n,i){var s;return Y(t)?s=t:s=na[t]||na.euclidean,e===0&&Y(t)?s(n,i):s(e,r,a,n,i)}var ah=Lt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),gi=function(e){return ah(e)},bn=function(e,r,a,n,i){var s=i!=="kMedoids",o=s?function(h){return a[h]}:function(h){return n[h](a)},l=function(c){return n[c](r)},u=a,f=r;return mn(e,n.length,o,l,u,f)},pi=function(e,r,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(r),l=null,u=0;ua)return!1}return!0},sh=function(e,r,a){for(var n=0;no&&(o=r[u][f],l=f);i[l].push(e[u])}for(var h=0;h=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var d=r[s],g=r[n[s]],y;i.mode==="dendrogram"?y={left:d,right:g,key:d.key}:y={value:d.value.concat(g.value),key:d.key},e[d.index]=y,e.splice(g.index,1),r[d.key]=y;for(var p=0;pa[g.key][m.key]&&(l=a[g.key][m.key])):i.linkage==="max"?(l=a[d.key][m.key],a[d.key][m.key]0&&n.push(i);return n},$s=function(e,r,a){for(var n=[],i=0;io&&(s=u,o=r[i*e+u])}s>0&&n.push(s)}for(var f=0;fu&&(l=f,u=h)}a[i]=s[l]}return n=$s(e,r,a),n},Vs=function(e){for(var r=this.cy(),a=this.nodes(),n=Eh(e),i={},s=0;s=F?(R=F,F=z,X=re):z>R&&(R=z);for(var W=0;W0?1:0;w[C%n.minIterations*o+ve]=we,se+=we}if(se>0&&(C>=n.minIterations-1||C==n.maxIterations-1)){for(var Te=0,Ee=0;Ee1||A>1)&&(o=!0),h[b]=[],m.outgoers().forEach(function(I){I.isEdge()&&h[b].push(I.id())})}else c[b]=[void 0,m.target().id()]}):s.forEach(function(m){var b=m.id();if(m.isNode()){var E=m.degree(!0);E%2&&(l?u?o=!0:u=b:l=b),h[b]=[],m.connectedEdges().forEach(function(M){return h[b].push(M.id())})}else c[b]=[m.source().id(),m.target().id()]});var v={found:!1,trail:void 0};if(o)return v;if(u&&l)if(i){if(f&&u!=f)return v;f=u}else{if(f&&u!=f&&l!=f)return v;f||(f=u)}else f||(f=s[0].id());var d=function(b){for(var E=b,M=[b],A,w,I;h[E].length;)A=h[E].shift(),w=c[A][0],I=c[A][1],E!=I?(h[I]=h[I].filter(function(C){return C!=A}),E=I):!i&&E!=w&&(h[w]=h[w].filter(function(C){return C!=A}),E=w),M.unshift(A),M.unshift(E);return M},g=[],y=[];for(y=d(f);y.length!=1;)h[y[0]].length==0?(g.unshift(s.getElementById(y.shift())),g.unshift(s.getElementById(y.shift()))):y=d(y.shift()).concat(y);g.unshift(s.getElementById(y.shift()));for(var p in h)if(h[p].length)return v;return v.found=!0,v.trail=this.spawn(g,!0),v}},wn=function(){var e=this,r={},a=0,n=0,i=[],s=[],o={},l=function(c,v){for(var d=s.length-1,g=[],y=e.spawn();s[d].x!=c||s[d].y!=v;)g.push(s.pop().edge),d--;g.push(s.pop().edge),g.forEach(function(p){var m=p.connectedNodes().intersection(e);y.merge(p),m.forEach(function(b){var E=b.id(),M=b.connectedEdges().intersection(e);y.merge(b),r[E].cutVertex?y.merge(M.filter(function(A){return A.isLoop()})):y.merge(M)})}),i.push(y)},u=function h(c,v,d){c===d&&(n+=1),r[v]={id:a,low:a++,cutVertex:!1};var g=e.getElementById(v).connectedEdges().intersection(e);if(g.size()===0)i.push(e.spawn(e.getElementById(v)));else{var y,p,m,b;g.forEach(function(E){y=E.source().id(),p=E.target().id(),m=y===v?p:y,m!==d&&(b=E.id(),o[b]||(o[b]=!0,s.push({x:v,y:m,edge:E})),m in r?r[v].low=Math.min(r[v].low,r[m].id):(h(c,m,v),r[v].low=Math.min(r[v].low,r[m].low),r[v].id<=r[m].low&&(r[v].cutVertex=!0,l(v,m))))})}};e.forEach(function(h){if(h.isNode()){var c=h.id();c in r||(n=0,u(c,c),r[c].cutVertex=n>1)}});var f=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(f),components:i}},Ah={hopcroftTarjanBiconnected:wn,htbc:wn,htb:wn,hopcroftTarjanBiconnectedComponents:wn},xn=function(){var e=this,r={},a=0,n=[],i=[],s=e.spawn(e),o=function l(u){i.push(u),r[u]={index:a,low:a++,explored:!1};var f=e.getElementById(u).connectedEdges().intersection(e);if(f.forEach(function(g){var y=g.target().id();y!==u&&(y in r||l(y),r[y].explored||(r[u].low=Math.min(r[u].low,r[y].low)))}),r[u].index===r[u].low){for(var h=e.spawn();;){var c=i.pop();if(h.merge(e.getElementById(c)),r[c].low=r[u].index,r[c].explored=!0,c===u)break}var v=h.edgesWith(h),d=h.merge(v);n.push(d),s=s.difference(d)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:n}},Oh={tarjanStronglyConnected:xn,tsc:xn,tscc:xn,tarjanStronglyConnectedComponents:xn},_s={};[Ia,nf,sf,uf,ff,cf,gf,$f,ra,aa,di,jf,ch,mh,Dh,Lh,Ah,Oh].forEach(function(t){Ue(_s,t)});/*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) diff --git a/_nuxt/page.46aa918a.js b/_nuxt/page.ecaaff9e.js similarity index 90% rename from _nuxt/page.46aa918a.js rename to _nuxt/page.ecaaff9e.js index 99db8c4b04..256f54cb8c 100644 --- a/_nuxt/page.46aa918a.js +++ b/_nuxt/page.ecaaff9e.js @@ -1 +1 @@ -import{d as c,au as r,E as p,c as l,g as i,w as u,L as n,ay as f,b as m,e as g,ab as h,k as x}from"./entry.8cfa8efb.js";const v={class:"page-layout"},y=c({__name:"page",setup(k){const{config:e}=r();return p({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,B)=>{var a,s,t,o;const _=f;return m(),l("div",v,[i(_,{fluid:(s=(a=n(e))==null?void 0:a.main)==null?void 0:s.fluid,padded:(o=(t=n(e))==null?void 0:t.main)==null?void 0:o.padded},{default:u(()=>[g("article",null,[h(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const b=x(y,[["__scopeId","data-v-5f91769d"]]);export{b as default}; +import{d as c,au as r,E as p,c as l,g as i,w as u,L as n,ay as f,b as m,e as g,ab as h,k as x}from"./entry.363473ce.js";const v={class:"page-layout"},y=c({__name:"page",setup(k){const{config:e}=r();return p({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,B)=>{var a,s,t,o;const _=f;return m(),l("div",v,[i(_,{fluid:(s=(a=n(e))==null?void 0:a.main)==null?void 0:s.fluid,padded:(o=(t=n(e))==null?void 0:t.main)==null?void 0:o.padded},{default:u(()=>[g("article",null,[h(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const b=x(y,[["__scopeId","data-v-5f91769d"]]);export{b as default}; diff --git a/_nuxt/pieDiagram-db1a8a21.2d8d6b83.js b/_nuxt/pieDiagram-db1a8a21.c86cd96c.js similarity index 98% rename from _nuxt/pieDiagram-db1a8a21.2d8d6b83.js rename to _nuxt/pieDiagram-db1a8a21.c86cd96c.js index 4c67dc8cfb..49d91c8861 100644 --- a/_nuxt/pieDiagram-db1a8a21.2d8d6b83.js +++ b/_nuxt/pieDiagram-db1a8a21.c86cd96c.js @@ -1,4 +1,4 @@ -import{am as it,c as U,s as gt,g as dt,x as mt,y as _t,a as vt,b as bt,e as kt,n as xt,l as B,A as St,i as nt,j as wt,an as At}from"./mermaid.core.6d8597df.js";import{i as Et}from"./init.77b53fdd.js";import{a as Dt}from"./array.9f3ba611.js";import{c as z}from"./path.53f90ab3.js";import{a as lt}from"./arc.98e8e146.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";class ct extends Map{constructor(s,l=It){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:l}}),s!=null)for(const[o,p]of s)this.set(o,p)}get(s){return super.get(ot(this,s))}has(s){return super.has(ot(this,s))}set(s,l){return super.set(Tt(this,s),l)}delete(s){return super.delete($t(this,s))}}function ot({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):l}function Tt({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):(t.set(o,l),l)}function $t({_intern:t,_key:s},l){const o=s(l);return t.has(o)&&(l=t.get(o),t.delete(o)),l}function It(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ht=Symbol("implicit");function ut(){var t=new ct,s=[],l=[],o=ht;function p(g){let h=t.get(g);if(h===void 0){if(o!==ht)return o;t.set(g,h=s.push(g)-1)}return l[h%l.length]}return p.domain=function(g){if(!arguments.length)return s.slice();s=[],t=new ct;for(const h of g)t.has(h)||t.set(h,s.push(h)-1);return p},p.range=function(g){return arguments.length?(l=Array.from(g),p):l.slice()},p.unknown=function(g){return arguments.length?(o=g,p):o},p.copy=function(){return ut(s,l).unknown(o)},Et.apply(p,arguments),p}function Vt(t,s){return st?1:s>=t?0:NaN}function Pt(t){return t}function Ot(){var t=Pt,s=Vt,l=null,o=z(0),p=z(it),g=z(0);function h(c){var d,y=(c=Dt(c)).length,w,L,N=0,x=new Array(y),A=new Array(y),$=+o.apply(this,arguments),D=Math.min(it,Math.max(-it,p.apply(this,arguments)-$)),W,C=Math.min(Math.abs(D)/y,g.apply(this,arguments)),I=C*(D<0?-1:1),v;for(d=0;d0&&(N+=v);for(s!=null?x.sort(function(E,b){return s(A[E],A[b])}):l!=null&&x.sort(function(E,b){return l(c[E],c[b])}),d=0,L=N?(D-y*I)/N:0;d0?v*L:0)+I,A[w]={data:c[w],index:d,value:v,startAngle:$,endAngle:W,padAngle:C};return A}return h.value=function(c){return arguments.length?(t=typeof c=="function"?c:z(+c),h):t},h.sortValues=function(c){return arguments.length?(s=c,l=null,h):s},h.sort=function(c){return arguments.length?(l=c,s=null,h):l},h.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:z(+c),h):o},h.endAngle=function(c){return arguments.length?(p=typeof c=="function"?c:z(+c),h):p},h.padAngle=function(c){return arguments.length?(g=typeof c=="function"?c:z(+c),h):g},h}var rt=function(){var t=function(b,e,i,a){for(i=i||{},a=b.length;a--;i[b[a]]=e);return i},s=[1,4],l=[1,5],o=[1,6],p=[1,7],g=[1,9],h=[1,11,13,15,17,19,20,26,27,28,29],c=[2,5],d=[1,6,11,13,15,17,19,20,26,27,28,29],y=[26,27,28],w=[2,8],L=[1,18],N=[1,19],x=[1,20],A=[1,21],$=[1,22],D=[1,23],W=[1,28],C=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,i,a,n,u,r,f){var m=r.length-1;switch(u){case 4:n.setShowData(!0);break;case 7:this.$=r[m-1];break;case 9:n.addSection(r[m-1],n.cleanupValue(r[m]));break;case 10:this.$=r[m].trim(),n.setDiagramTitle(this.$);break;case 11:this.$=r[m].trim(),n.setAccTitle(this.$);break;case 12:case 13:this.$=r[m].trim(),n.setAccDescription(this.$);break;case 14:n.addSection(r[m].substr(8)),this.$=r[m].substr(8);break;case 21:n.parseDirective("%%{","open_directive");break;case 22:n.parseDirective(r[m],"type_directive");break;case 23:r[m]=r[m].trim().replace(/'/g,'"'),n.parseDirective(r[m],"arg_directive");break;case 24:n.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{1:[3]},{3:10,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{3:11,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},t(h,c,{7:12,8:[1,13]}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(y,w,{21:8,9:16,10:17,5:24,1:[2,3],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(h,c,{7:25}),{23:26,24:[1,27],32:W},t([24,32],[2,22]),t(h,[2,6]),{4:29,26:l,27:o,28:p},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(y,[2,13]),t(y,[2,14]),t(y,[2,15]),t(y,w,{21:8,9:16,10:17,5:24,1:[2,4],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(C,[2,16]),{25:34,31:[1,35]},t(C,[2,24]),t(h,[2,7]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12]),{23:36,32:W},{32:[2,23]},t(C,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,i){if(i.recoverable)this.trace(e);else{var a=new Error(e);throw a.hash=i,a}},parse:function(e){var i=this,a=[0],n=[],u=[null],r=[],f=this.table,m="",F=0,q=0,Q=2,G=1,ft=r.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(M.yy[X]=this.yy[X]);_.setInput(e,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Z=_.yylloc;r.push(Z);var pt=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var P;return P=n.pop()||_.lex()||G,typeof P!="number"&&(P instanceof Array&&(n=P,P=n.pop()),P=i.symbols_[P]||P),P}for(var k,j,S,tt,R={},H,V,at,J;;){if(j=a[a.length-1],this.defaultActions[j]?S=this.defaultActions[j]:((k===null||typeof k>"u")&&(k=yt()),S=f[j]&&f[j][k]),typeof S>"u"||!S.length||!S[0]){var et="";J=[];for(H in f[j])this.terminals_[H]&&H>Q&&J.push("'"+this.terminals_[H]+"'");_.showPosition?et="Parse error on line "+(F+1)+`: +import{am as it,c as U,s as gt,g as dt,x as mt,y as _t,a as vt,b as bt,e as kt,n as xt,l as B,A as St,i as nt,j as wt,an as At}from"./mermaid.core.bd97f718.js";import{i as Et}from"./init.77b53fdd.js";import{a as Dt}from"./array.9f3ba611.js";import{c as z}from"./path.53f90ab3.js";import{a as lt}from"./arc.16fae886.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";class ct extends Map{constructor(s,l=It){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:l}}),s!=null)for(const[o,p]of s)this.set(o,p)}get(s){return super.get(ot(this,s))}has(s){return super.has(ot(this,s))}set(s,l){return super.set(Tt(this,s),l)}delete(s){return super.delete($t(this,s))}}function ot({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):l}function Tt({_intern:t,_key:s},l){const o=s(l);return t.has(o)?t.get(o):(t.set(o,l),l)}function $t({_intern:t,_key:s},l){const o=s(l);return t.has(o)&&(l=t.get(o),t.delete(o)),l}function It(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ht=Symbol("implicit");function ut(){var t=new ct,s=[],l=[],o=ht;function p(g){let h=t.get(g);if(h===void 0){if(o!==ht)return o;t.set(g,h=s.push(g)-1)}return l[h%l.length]}return p.domain=function(g){if(!arguments.length)return s.slice();s=[],t=new ct;for(const h of g)t.has(h)||t.set(h,s.push(h)-1);return p},p.range=function(g){return arguments.length?(l=Array.from(g),p):l.slice()},p.unknown=function(g){return arguments.length?(o=g,p):o},p.copy=function(){return ut(s,l).unknown(o)},Et.apply(p,arguments),p}function Vt(t,s){return st?1:s>=t?0:NaN}function Pt(t){return t}function Ot(){var t=Pt,s=Vt,l=null,o=z(0),p=z(it),g=z(0);function h(c){var d,y=(c=Dt(c)).length,w,L,N=0,x=new Array(y),A=new Array(y),$=+o.apply(this,arguments),D=Math.min(it,Math.max(-it,p.apply(this,arguments)-$)),W,C=Math.min(Math.abs(D)/y,g.apply(this,arguments)),I=C*(D<0?-1:1),v;for(d=0;d0&&(N+=v);for(s!=null?x.sort(function(E,b){return s(A[E],A[b])}):l!=null&&x.sort(function(E,b){return l(c[E],c[b])}),d=0,L=N?(D-y*I)/N:0;d0?v*L:0)+I,A[w]={data:c[w],index:d,value:v,startAngle:$,endAngle:W,padAngle:C};return A}return h.value=function(c){return arguments.length?(t=typeof c=="function"?c:z(+c),h):t},h.sortValues=function(c){return arguments.length?(s=c,l=null,h):s},h.sort=function(c){return arguments.length?(l=c,s=null,h):l},h.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:z(+c),h):o},h.endAngle=function(c){return arguments.length?(p=typeof c=="function"?c:z(+c),h):p},h.padAngle=function(c){return arguments.length?(g=typeof c=="function"?c:z(+c),h):g},h}var rt=function(){var t=function(b,e,i,a){for(i=i||{},a=b.length;a--;i[b[a]]=e);return i},s=[1,4],l=[1,5],o=[1,6],p=[1,7],g=[1,9],h=[1,11,13,15,17,19,20,26,27,28,29],c=[2,5],d=[1,6,11,13,15,17,19,20,26,27,28,29],y=[26,27,28],w=[2,8],L=[1,18],N=[1,19],x=[1,20],A=[1,21],$=[1,22],D=[1,23],W=[1,28],C=[6,26,27,28,29],I={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,i,a,n,u,r,f){var m=r.length-1;switch(u){case 4:n.setShowData(!0);break;case 7:this.$=r[m-1];break;case 9:n.addSection(r[m-1],n.cleanupValue(r[m]));break;case 10:this.$=r[m].trim(),n.setDiagramTitle(this.$);break;case 11:this.$=r[m].trim(),n.setAccTitle(this.$);break;case 12:case 13:this.$=r[m].trim(),n.setAccDescription(this.$);break;case 14:n.addSection(r[m].substr(8)),this.$=r[m].substr(8);break;case 21:n.parseDirective("%%{","open_directive");break;case 22:n.parseDirective(r[m],"type_directive");break;case 23:r[m]=r[m].trim().replace(/'/g,'"'),n.parseDirective(r[m],"arg_directive");break;case 24:n.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{1:[3]},{3:10,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},{3:11,4:2,5:3,6:s,21:8,26:l,27:o,28:p,29:g},t(h,c,{7:12,8:[1,13]}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(y,w,{21:8,9:16,10:17,5:24,1:[2,3],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(h,c,{7:25}),{23:26,24:[1,27],32:W},t([24,32],[2,22]),t(h,[2,6]),{4:29,26:l,27:o,28:p},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(y,[2,13]),t(y,[2,14]),t(y,[2,15]),t(y,w,{21:8,9:16,10:17,5:24,1:[2,4],11:L,13:N,15:x,17:A,19:$,20:D,29:g}),t(C,[2,16]),{25:34,31:[1,35]},t(C,[2,24]),t(h,[2,7]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12]),{23:36,32:W},{32:[2,23]},t(C,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,i){if(i.recoverable)this.trace(e);else{var a=new Error(e);throw a.hash=i,a}},parse:function(e){var i=this,a=[0],n=[],u=[null],r=[],f=this.table,m="",F=0,q=0,Q=2,G=1,ft=r.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(M.yy[X]=this.yy[X]);_.setInput(e,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Z=_.yylloc;r.push(Z);var pt=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var P;return P=n.pop()||_.lex()||G,typeof P!="number"&&(P instanceof Array&&(n=P,P=n.pop()),P=i.symbols_[P]||P),P}for(var k,j,S,tt,R={},H,V,at,J;;){if(j=a[a.length-1],this.defaultActions[j]?S=this.defaultActions[j]:((k===null||typeof k>"u")&&(k=yt()),S=f[j]&&f[j][k]),typeof S>"u"||!S.length||!S[0]){var et="";J=[];for(H in f[j])this.terminals_[H]&&H>Q&&J.push("'"+this.terminals_[H]+"'");_.showPosition?et="Parse error on line "+(F+1)+`: `+_.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[k]||k)+"'":et="Parse error on line "+(F+1)+": Unexpected "+(k==G?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(et,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:Z,expected:J})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+k);switch(S[0]){case 1:a.push(k),u.push(_.yytext),r.push(_.yylloc),a.push(S[1]),k=null,q=_.yyleng,m=_.yytext,F=_.yylineno,Z=_.yylloc;break;case 2:if(V=this.productions_[S[1]][1],R.$=u[u.length-V],R._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},pt&&(R._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),tt=this.performAction.apply(R,[m,q,F,M.yy,S[1],u,r].concat(ft)),typeof tt<"u")return tt;V&&(a=a.slice(0,-1*V*2),u=u.slice(0,-1*V),r=r.slice(0,-1*V)),a.push(this.productions_[S[1]][0]),u.push(R.$),r.push(R._$),at=f[a[a.length-2]][a[a.length-1]],a.push(at);break;case 3:return!0}}return!0}},v=function(){var b={EOF:1,parseError:function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},setInput:function(e,i){return this.yy=i||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var i=e.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var i=e.length,a=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),i=new Array(e.length+1).join("-");return e+this.upcomingInput()+` diff --git a/_nuxt/requirementDiagram-b9649942.dd4c150a.js b/_nuxt/requirementDiagram-b9649942.0b67fd69.js similarity index 99% rename from _nuxt/requirementDiagram-b9649942.dd4c150a.js rename to _nuxt/requirementDiagram-b9649942.0b67fd69.js index 777a3b6872..fff143efb3 100644 --- a/_nuxt/requirementDiagram-b9649942.dd4c150a.js +++ b/_nuxt/requirementDiagram-b9649942.0b67fd69.js @@ -1,4 +1,4 @@ -import{c as ve,s as Fe,g as Me,b as Pe,a as Ye,e as Ue,l as xe,A as Be,i as oe,j as Qe,n as Te}from"./mermaid.core.6d8597df.js";import{G as He,l as We}from"./layout.e490e9ef.js";import{l as Ke}from"./line.dc626553.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";var he=function(){var e=function(q,r,s,l){for(s=s||{},l=q.length;l--;s[q[l]]=r);return s},t=[1,3],a=[1,5],c=[1,6],d=[1,7],u=[1,8],p=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],h=[1,22],o=[2,13],g=[1,26],R=[1,27],v=[1,28],S=[1,29],T=[1,30],x=[1,31],A=[1,24],N=[1,32],w=[1,33],pe=[1,36],F=[71,72],_e=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],fe=[1,56],ye=[1,57],ge=[1,58],Ee=[1,59],Re=[1,60],me=[1,61],Ie=[1,62],O=[62,63],M=[1,74],P=[1,70],Y=[1,71],U=[1,72],B=[1,73],Q=[1,75],j=[1,79],X=[1,80],J=[1,77],Z=[1,78],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],re={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(r,s,l,i,f,n,K){var _=n.length-1;switch(f){case 6:this.$=n[_].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=n[_].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(n[_],"type_directive");break;case 11:n[_]=n[_].trim().replace(/'/g,'"'),i.parseDirective(n[_],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(n[_-3],n[_-4]);break;case 20:i.setNewReqId(n[_-2]);break;case 21:i.setNewReqText(n[_-2]);break;case 22:i.setNewReqRisk(n[_-2]);break;case 23:i.setNewReqVerifyMethod(n[_-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(n[_-3]);break;case 40:i.setNewElementType(n[_-2]);break;case 41:i.setNewElementDocRef(n[_-2]);break;case 44:i.addRelationship(n[_-2],n[_],n[_-4]);break;case 45:i.addRelationship(n[_-2],n[_-4],n[_]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:a,16:c,18:d,19:u},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(p,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[2,2]},{4:21,5:h,7:17,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{11:34,12:[1,35],22:pe},e([12,22],[2,10]),e(p,[2,6]),e(p,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:h,7:38,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:39,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:40,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:41,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:42,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(F,[2,26]),e(F,[2,27]),e(F,[2,28]),e(F,[2,29]),e(F,[2,30]),e(F,[2,31]),e(_e,[2,55]),e(_e,[2,56]),e(p,[2,4]),{13:51,21:[1,52]},e(p,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{61:63,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{11:64,22:pe},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(O,[2,46]),e(O,[2,47]),e(O,[2,48]),e(O,[2,49]),e(O,[2,50]),e(O,[2,51]),e(O,[2,52]),{63:[1,68]},e(p,[2,5]),{5:M,29:69,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:76,56:J,58:Z},{32:81,71:N,72:w},{32:82,71:N,72:w},e(m,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:P,33:Y,35:U,37:B,39:Q},e(m,[2,25]),e(m,[2,39]),{31:[1,88]},{31:[1,89]},{5:j,39:X,55:90,56:J,58:Z},e(m,[2,43]),e(m,[2,44]),e(m,[2,45]),{32:91,71:N,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(m,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(m,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:117,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:118,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:119,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:120,56:J,58:Z},{5:j,39:X,55:121,56:J,58:Z},e(m,[2,20]),e(m,[2,21]),e(m,[2,22]),e(m,[2,23]),e(m,[2,40]),e(m,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(r,s){if(s.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=s,l}},parse:function(r){var s=this,l=[0],i=[],f=[null],n=[],K=this.table,_="",ee=0,be=0,Le=2,ke=1,Oe=n.slice.call(arguments,1),E=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);E.setInput(r,C.yy),C.yy.lexer=E,C.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ae=E.yylloc;n.push(ae);var Ce=E.options&&E.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(){var $;return $=i.pop()||E.lex()||ke,typeof $!="number"&&($ instanceof Array&&(i=$,$=i.pop()),$=s.symbols_[$]||$),$}for(var I,D,k,le,H={},te,V,Se,ie;;){if(D=l[l.length-1],this.defaultActions[D]?k=this.defaultActions[D]:((I===null||typeof I>"u")&&(I=De()),k=K[D]&&K[D][I]),typeof k>"u"||!k.length||!k[0]){var ce="";ie=[];for(te in K[D])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");E.showPosition?ce="Parse error on line "+(ee+1)+`: +import{c as ve,s as Fe,g as Me,b as Pe,a as Ye,e as Ue,l as xe,A as Be,i as oe,j as Qe,n as Te}from"./mermaid.core.bd97f718.js";import{G as He,l as We}from"./layout.11303474.js";import{l as Ke}from"./line.2cebc606.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";var he=function(){var e=function(q,r,s,l){for(s=s||{},l=q.length;l--;s[q[l]]=r);return s},t=[1,3],a=[1,5],c=[1,6],d=[1,7],u=[1,8],p=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],h=[1,22],o=[2,13],g=[1,26],R=[1,27],v=[1,28],S=[1,29],T=[1,30],x=[1,31],A=[1,24],N=[1,32],w=[1,33],pe=[1,36],F=[71,72],_e=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],fe=[1,56],ye=[1,57],ge=[1,58],Ee=[1,59],Re=[1,60],me=[1,61],Ie=[1,62],O=[62,63],M=[1,74],P=[1,70],Y=[1,71],U=[1,72],B=[1,73],Q=[1,75],j=[1,79],X=[1,80],J=[1,77],Z=[1,78],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],re={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(r,s,l,i,f,n,K){var _=n.length-1;switch(f){case 6:this.$=n[_].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=n[_].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(n[_],"type_directive");break;case 11:n[_]=n[_].trim().replace(/'/g,'"'),i.parseDirective(n[_],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(n[_-3],n[_-4]);break;case 20:i.setNewReqId(n[_-2]);break;case 21:i.setNewReqText(n[_-2]);break;case 22:i.setNewReqRisk(n[_-2]);break;case 23:i.setNewReqVerifyMethod(n[_-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(n[_-3]);break;case 40:i.setNewElementType(n[_-2]);break;case 41:i.setNewElementDocRef(n[_-2]);break;case 44:i.addRelationship(n[_-2],n[_],n[_-4]);break;case 45:i.addRelationship(n[_-2],n[_-4],n[_]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:a,16:c,18:d,19:u},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(p,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:a,16:c,18:d,19:u},{1:[2,2]},{4:21,5:h,7:17,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{11:34,12:[1,35],22:pe},e([12,22],[2,10]),e(p,[2,6]),e(p,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:h,7:38,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:39,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:40,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:41,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{4:21,5:h,7:42,8:o,9:4,14:a,16:c,18:d,19:u,23:18,24:19,25:20,26:23,32:25,40:g,41:R,42:v,43:S,44:T,45:x,53:A,71:N,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(F,[2,26]),e(F,[2,27]),e(F,[2,28]),e(F,[2,29]),e(F,[2,30]),e(F,[2,31]),e(_e,[2,55]),e(_e,[2,56]),e(p,[2,4]),{13:51,21:[1,52]},e(p,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{61:63,64:fe,65:ye,66:ge,67:Ee,68:Re,69:me,70:Ie},{11:64,22:pe},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(O,[2,46]),e(O,[2,47]),e(O,[2,48]),e(O,[2,49]),e(O,[2,50]),e(O,[2,51]),e(O,[2,52]),{63:[1,68]},e(p,[2,5]),{5:M,29:69,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:76,56:J,58:Z},{32:81,71:N,72:w},{32:82,71:N,72:w},e(m,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:P,33:Y,35:U,37:B,39:Q},e(m,[2,25]),e(m,[2,39]),{31:[1,88]},{31:[1,89]},{5:j,39:X,55:90,56:J,58:Z},e(m,[2,43]),e(m,[2,44]),e(m,[2,45]),{32:91,71:N,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(m,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(m,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:117,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:118,30:P,33:Y,35:U,37:B,39:Q},{5:M,29:119,30:P,33:Y,35:U,37:B,39:Q},{5:j,39:X,55:120,56:J,58:Z},{5:j,39:X,55:121,56:J,58:Z},e(m,[2,20]),e(m,[2,21]),e(m,[2,22]),e(m,[2,23]),e(m,[2,40]),e(m,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(r,s){if(s.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=s,l}},parse:function(r){var s=this,l=[0],i=[],f=[null],n=[],K=this.table,_="",ee=0,be=0,Le=2,ke=1,Oe=n.slice.call(arguments,1),E=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);E.setInput(r,C.yy),C.yy.lexer=E,C.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ae=E.yylloc;n.push(ae);var Ce=E.options&&E.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(){var $;return $=i.pop()||E.lex()||ke,typeof $!="number"&&($ instanceof Array&&(i=$,$=i.pop()),$=s.symbols_[$]||$),$}for(var I,D,k,le,H={},te,V,Se,ie;;){if(D=l[l.length-1],this.defaultActions[D]?k=this.defaultActions[D]:((I===null||typeof I>"u")&&(I=De()),k=K[D]&&K[D][I]),typeof k>"u"||!k.length||!k[0]){var ce="";ie=[];for(te in K[D])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");E.showPosition?ce="Parse error on line "+(ee+1)+`: `+E.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ce="Parse error on line "+(ee+1)+": Unexpected "+(I==ke?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ce,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:ae,expected:ie})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+I);switch(k[0]){case 1:l.push(I),f.push(E.yytext),n.push(E.yylloc),l.push(k[1]),I=null,be=E.yyleng,_=E.yytext,ee=E.yylineno,ae=E.yylloc;break;case 2:if(V=this.productions_[k[1]][1],H.$=f[f.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},Ce&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),le=this.performAction.apply(H,[_,be,ee,C.yy,k[1],f,n].concat(Oe)),typeof le<"u")return le;V&&(l=l.slice(0,-1*V*2),f=f.slice(0,-1*V),n=n.slice(0,-1*V)),l.push(this.productions_[k[1]][0]),f.push(H.$),n.push(H._$),Se=K[l[l.length-2]][l[l.length-1]],l.push(Se);break;case 3:return!0}}return!0}},qe=function(){var q={EOF:1,parseError:function(s,l){if(this.yy.parser)this.yy.parser.parseError(s,l);else throw new Error(s)},setInput:function(r,s){return this.yy=s||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var s=r.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var s=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===i.length?this.yylloc.first_column:0)+i[i.length-l.length].length-l[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),s=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/selectAll.3bc18744.js b/_nuxt/selectAll.41f6743d.js similarity index 68% rename from _nuxt/selectAll.3bc18744.js rename to _nuxt/selectAll.41f6743d.js index 72a91e62f1..0ae779a6bd 100644 --- a/_nuxt/selectAll.3bc18744.js +++ b/_nuxt/selectAll.41f6743d.js @@ -1 +1 @@ -import{a0 as t,a1 as n,a2 as o}from"./mermaid.core.6d8597df.js";function r(e){return typeof e=="string"?new t([document.querySelectorAll(e)],[document.documentElement]):new t([o(e)],n)}export{r as s}; +import{a0 as t,a1 as n,a2 as o}from"./mermaid.core.bd97f718.js";function r(e){return typeof e=="string"?new t([document.querySelectorAll(e)],[document.documentElement]):new t([o(e)],n)}export{r as s}; diff --git a/_nuxt/sequenceDiagram-446df3e4.a4c47347.js b/_nuxt/sequenceDiagram-446df3e4.3875c8cc.js similarity index 99% rename from _nuxt/sequenceDiagram-446df3e4.a4c47347.js rename to _nuxt/sequenceDiagram-446df3e4.3875c8cc.js index d34d223554..b7d311dc4b 100644 --- a/_nuxt/sequenceDiagram-446df3e4.a4c47347.js +++ b/_nuxt/sequenceDiagram-446df3e4.3875c8cc.js @@ -1,4 +1,4 @@ -import{g as be,y as we,x as ve,c as ct,s as te,b as _e,a as ke,e as Le,A as Pe,l as K,d as kt,f as Ie,i as _t,j as Ne,z as C,k as Lt,n as Pt,an as ee,aA as Ae}from"./mermaid.core.6d8597df.js";import{s as Se}from"./selectAll.3bc18744.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";var Bt=function(){var t=function(rt,m,w,_){for(w=w||{},_=rt.length;_--;w[rt[_]]=m);return w},e=[1,2],s=[1,3],i=[1,5],n=[1,7],a=[2,5],o=[1,15],l=[1,17],p=[1,19],h=[1,21],T=[1,22],y=[1,23],u=[1,29],x=[1,30],b=[1,31],k=[1,32],N=[1,33],M=[1,34],P=[1,35],B=[1,36],V=[1,37],z=[1,38],G=[1,39],Y=[1,40],D=[1,42],X=[1,43],q=[1,45],F=[1,46],H=[1,47],J=[1,48],Q=[1,49],E=[1,50],L=[1,53],v=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],U=[4,5,21,54,56],I=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],Kt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],Gt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],Xt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],at=[71,72,73],et=[1,125],Jt=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(m,w,_,g,A,c,Tt){var d=c.length-1;switch(A){case 4:return g.apply(c[d]),c[d];case 5:case 10:this.$=[];break;case 6:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 7:case 8:case 12:case 13:this.$=c[d];break;case 9:case 14:this.$=[];break;case 18:c[d-1].unshift({type:"boxStart",boxData:g.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:g.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 25:this.$={type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 31:g.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 32:g.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 33:this.$=c[d].trim(),g.setAccTitle(this.$);break;case 34:case 35:this.$=c[d].trim(),g.setAccDescription(this.$);break;case 36:c[d-1].unshift({type:"loopStart",loopText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:g.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"rectStart",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"optStart",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"altStart",altText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:g.LINETYPE.ALT_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:g.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:g.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 45:this.$=c[d-3].concat([{type:"option",optionText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 47:this.$=c[d-3].concat([{type:"and",parText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.PAR_AND},c[d]]);break;case 49:this.$=c[d-3].concat([{type:"else",altText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.ALT_ELSE},c[d]]);break;case 50:c[d-3].type="addParticipant",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 51:c[d-1].type="addParticipant",this.$=c[d-1];break;case 52:c[d-3].type="addActor",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 53:c[d-1].type="addActor",this.$=c[d-1];break;case 54:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 55:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:g.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 56:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 57:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 58:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 59:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-2],c[d]];break;case 63:this.$=c[d];break;case 64:this.$=g.PLACEMENT.LEFTOF;break;case 65:this.$=g.PLACEMENT.RIGHTOF;break;case 66:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 67:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 68:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 69:this.$={type:"addParticipant",actor:c[d]};break;case 70:this.$=g.LINETYPE.SOLID_OPEN;break;case 71:this.$=g.LINETYPE.DOTTED_OPEN;break;case 72:this.$=g.LINETYPE.SOLID;break;case 73:this.$=g.LINETYPE.DOTTED;break;case 74:this.$=g.LINETYPE.SOLID_CROSS;break;case 75:this.$=g.LINETYPE.DOTTED_CROSS;break;case 76:this.$=g.LINETYPE.SOLID_POINT;break;case 77:this.$=g.LINETYPE.DOTTED_POINT;break;case 78:this.$=g.parseMessage(c[d].trim().substring(1));break;case 79:g.parseDirective("%%{","open_directive");break;case 80:g.parseDirective(c[d],"type_directive");break;case 81:c[d]=c[d].trim().replace(/'/g,'"'),g.parseDirective(c[d],"arg_directive");break;case 82:g.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:s,6:4,7:i,14:6,83:n},{1:[3]},{3:8,4:e,5:s,6:4,7:i,14:6,83:n},{3:9,4:e,5:s,6:4,7:i,14:6,83:n},{3:10,4:e,5:s,6:4,7:i,14:6,83:n},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],a,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{16:51,17:[1,52],86:L},t([17,86],[2,80]),t(v,[2,6]),{6:41,10:54,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},t(v,[2,8]),t(v,[2,9]),t(v,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:E},{27:61,73:E},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(v,[2,31]),t(v,[2,32]),{37:[1,67]},{39:[1,68]},t(v,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(v,[2,43]),{27:76,73:E},{27:77,73:E},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:E},{27:92,73:E},{27:93,73:E},{27:94,73:E},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(v,[2,7]),t(U,[2,10],{11:98}),t(v,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(v,[2,23]),{5:[1,102]},{5:[1,103]},t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,30]),t(v,[2,33]),t(v,[2,34]),t(I,a,{8:104}),t(I,a,{8:105}),t(I,a,{8:106}),t(Kt,a,{45:107,8:108}),t(Gt,a,{47:109,8:110}),t(Xt,a,{49:111,8:112}),t(I,a,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:E},t(at,[2,70]),t(at,[2,71]),t(at,[2,72]),t(at,[2,73]),t(at,[2,74]),t(at,[2,75]),t(at,[2,76]),t(at,[2,77]),{27:121,73:E},{27:123,61:122,73:E},{73:[2,64]},{73:[2,65]},{59:124,82:et},{59:126,82:et},{59:127,82:et},{59:128,82:et},t(Jt,[2,15]),{16:129,86:L},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:D,56:X},{5:[1,135]},t(v,[2,21]),t(v,[2,22]),t(v,[2,24]),t(v,[2,25]),{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,136],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,137],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,138],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,139]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,48],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,53:[1,140],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,141]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,46],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,52:[1,142],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,143]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,44],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,51:[1,144],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,145],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{20:[1,146]},t(v,[2,51]),{20:[1,147]},t(v,[2,53]),{27:148,73:E},{27:149,73:E},{59:150,82:et},{59:151,82:et},{59:152,82:et},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(v,[2,18]),t(U,[2,11]),{13:155,54:D,56:X},t(U,[2,13]),t(U,[2,14]),t(v,[2,20]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),t(v,[2,39]),{20:[1,156]},t(v,[2,40]),{20:[1,157]},t(v,[2,41]),{20:[1,158]},t(v,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:et},{59:162,82:et},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:E},t(Jt,[2,16]),t(U,[2,12]),t(Kt,a,{8:108,45:164}),t(Gt,a,{8:110,47:165}),t(Xt,a,{8:112,49:166}),t(v,[2,50]),t(v,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(m,w){if(w.recoverable)this.trace(m);else{var _=new Error(m);throw _.hash=w,_}},parse:function(m){var w=this,_=[0],g=[],A=[null],c=[],Tt=this.table,d="",bt=0,Qt=0,Te=2,Zt=1,ye=c.slice.call(arguments,1),O=Object.create(this.lexer),lt={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(lt.yy[Dt]=this.yy[Dt]);O.setInput(m,lt.yy),lt.yy.lexer=O,lt.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var Vt=O.yylloc;c.push(Vt);var Ee=O.options&&O.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var nt;return nt=g.pop()||O.lex()||Zt,typeof nt!="number"&&(nt instanceof Array&&(g=nt,nt=g.pop()),nt=w.symbols_[nt]||nt),nt}for(var W,ht,Z,Ct,ut={},wt,it,jt,vt;;){if(ht=_[_.length-1],this.defaultActions[ht]?Z=this.defaultActions[ht]:((W===null||typeof W>"u")&&(W=me()),Z=Tt[ht]&&Tt[ht][W]),typeof Z>"u"||!Z.length||!Z[0]){var Ot="";vt=[];for(wt in Tt[ht])this.terminals_[wt]&&wt>Te&&vt.push("'"+this.terminals_[wt]+"'");O.showPosition?Ot="Parse error on line "+(bt+1)+`: +import{g as be,y as we,x as ve,c as ct,s as te,b as _e,a as ke,e as Le,A as Pe,l as K,d as kt,f as Ie,i as _t,j as Ne,z as C,k as Lt,n as Pt,an as ee,aA as Ae}from"./mermaid.core.bd97f718.js";import{s as Se}from"./selectAll.41f6743d.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";var Bt=function(){var t=function(rt,m,w,_){for(w=w||{},_=rt.length;_--;w[rt[_]]=m);return w},e=[1,2],s=[1,3],i=[1,5],n=[1,7],a=[2,5],o=[1,15],l=[1,17],p=[1,19],h=[1,21],T=[1,22],y=[1,23],u=[1,29],x=[1,30],b=[1,31],k=[1,32],N=[1,33],M=[1,34],P=[1,35],B=[1,36],V=[1,37],z=[1,38],G=[1,39],Y=[1,40],D=[1,42],X=[1,43],q=[1,45],F=[1,46],H=[1,47],J=[1,48],Q=[1,49],E=[1,50],L=[1,53],v=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],U=[4,5,21,54,56],I=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],Kt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],Gt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],Xt=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],at=[71,72,73],et=[1,125],Jt=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(m,w,_,g,A,c,Tt){var d=c.length-1;switch(A){case 4:return g.apply(c[d]),c[d];case 5:case 10:this.$=[];break;case 6:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 7:case 8:case 12:case 13:this.$=c[d];break;case 9:case 14:this.$=[];break;case 18:c[d-1].unshift({type:"boxStart",boxData:g.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:g.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:g.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 25:this.$={type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 31:g.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 32:g.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 33:this.$=c[d].trim(),g.setAccTitle(this.$);break;case 34:case 35:this.$=c[d].trim(),g.setAccDescription(this.$);break;case 36:c[d-1].unshift({type:"loopStart",loopText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:g.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"rectStart",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:g.parseMessage(c[d-2]),signalType:g.LINETYPE.RECT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"optStart",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.OPT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"altStart",altText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:g.LINETYPE.ALT_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:g.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:g.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:g.parseMessage(c[d-2]),signalType:g.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 45:this.$=c[d-3].concat([{type:"option",optionText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 47:this.$=c[d-3].concat([{type:"and",parText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.PAR_AND},c[d]]);break;case 49:this.$=c[d-3].concat([{type:"else",altText:g.parseMessage(c[d-1]),signalType:g.LINETYPE.ALT_ELSE},c[d]]);break;case 50:c[d-3].type="addParticipant",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 51:c[d-1].type="addParticipant",this.$=c[d-1];break;case 52:c[d-3].type="addActor",c[d-3].description=g.parseMessage(c[d-1]),this.$=c[d-3];break;case 53:c[d-1].type="addActor",this.$=c[d-1];break;case 54:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 55:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:g.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 56:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 57:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 58:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 59:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-2],c[d]];break;case 63:this.$=c[d];break;case 64:this.$=g.PLACEMENT.LEFTOF;break;case 65:this.$=g.PLACEMENT.RIGHTOF;break;case 66:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeStart",signalType:g.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 67:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:g.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 68:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 69:this.$={type:"addParticipant",actor:c[d]};break;case 70:this.$=g.LINETYPE.SOLID_OPEN;break;case 71:this.$=g.LINETYPE.DOTTED_OPEN;break;case 72:this.$=g.LINETYPE.SOLID;break;case 73:this.$=g.LINETYPE.DOTTED;break;case 74:this.$=g.LINETYPE.SOLID_CROSS;break;case 75:this.$=g.LINETYPE.DOTTED_CROSS;break;case 76:this.$=g.LINETYPE.SOLID_POINT;break;case 77:this.$=g.LINETYPE.DOTTED_POINT;break;case 78:this.$=g.parseMessage(c[d].trim().substring(1));break;case 79:g.parseDirective("%%{","open_directive");break;case 80:g.parseDirective(c[d],"type_directive");break;case 81:c[d]=c[d].trim().replace(/'/g,'"'),g.parseDirective(c[d],"arg_directive");break;case 82:g.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:s,6:4,7:i,14:6,83:n},{1:[3]},{3:8,4:e,5:s,6:4,7:i,14:6,83:n},{3:9,4:e,5:s,6:4,7:i,14:6,83:n},{3:10,4:e,5:s,6:4,7:i,14:6,83:n},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],a,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{16:51,17:[1,52],86:L},t([17,86],[2,80]),t(v,[2,6]),{6:41,10:54,13:18,14:6,19:p,22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},t(v,[2,8]),t(v,[2,9]),t(v,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:E},{27:61,73:E},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(v,[2,31]),t(v,[2,32]),{37:[1,67]},{39:[1,68]},t(v,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(v,[2,43]),{27:76,73:E},{27:77,73:E},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:E},{27:92,73:E},{27:93,73:E},{27:94,73:E},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(v,[2,7]),t(U,[2,10],{11:98}),t(v,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(v,[2,23]),{5:[1,102]},{5:[1,103]},t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,30]),t(v,[2,33]),t(v,[2,34]),t(I,a,{8:104}),t(I,a,{8:105}),t(I,a,{8:106}),t(Kt,a,{45:107,8:108}),t(Gt,a,{47:109,8:110}),t(Xt,a,{49:111,8:112}),t(I,a,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:E},t(at,[2,70]),t(at,[2,71]),t(at,[2,72]),t(at,[2,73]),t(at,[2,74]),t(at,[2,75]),t(at,[2,76]),t(at,[2,77]),{27:121,73:E},{27:123,61:122,73:E},{73:[2,64]},{73:[2,65]},{59:124,82:et},{59:126,82:et},{59:127,82:et},{59:128,82:et},t(Jt,[2,15]),{16:129,86:L},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:D,56:X},{5:[1,135]},t(v,[2,21]),t(v,[2,22]),t(v,[2,24]),t(v,[2,25]),{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,136],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,137],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,138],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,139]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,48],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,53:[1,140],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,141]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,46],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,52:[1,142],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{21:[1,143]},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[2,44],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,51:[1,144],54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{4:o,5:l,6:41,9:14,10:16,13:18,14:6,19:p,21:[1,145],22:20,23:h,26:T,27:44,28:y,29:24,30:25,31:26,32:27,33:28,34:u,35:x,36:b,38:k,40:N,41:M,42:P,43:B,44:V,46:z,48:G,50:Y,54:D,56:X,57:q,62:F,63:H,64:J,65:Q,73:E,83:n},{20:[1,146]},t(v,[2,51]),{20:[1,147]},t(v,[2,53]),{27:148,73:E},{27:149,73:E},{59:150,82:et},{59:151,82:et},{59:152,82:et},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(v,[2,18]),t(U,[2,11]),{13:155,54:D,56:X},t(U,[2,13]),t(U,[2,14]),t(v,[2,20]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),t(v,[2,39]),{20:[1,156]},t(v,[2,40]),{20:[1,157]},t(v,[2,41]),{20:[1,158]},t(v,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:et},{59:162,82:et},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:E},t(Jt,[2,16]),t(U,[2,12]),t(Kt,a,{8:108,45:164}),t(Gt,a,{8:110,47:165}),t(Xt,a,{8:112,49:166}),t(v,[2,50]),t(v,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(m,w){if(w.recoverable)this.trace(m);else{var _=new Error(m);throw _.hash=w,_}},parse:function(m){var w=this,_=[0],g=[],A=[null],c=[],Tt=this.table,d="",bt=0,Qt=0,Te=2,Zt=1,ye=c.slice.call(arguments,1),O=Object.create(this.lexer),lt={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(lt.yy[Dt]=this.yy[Dt]);O.setInput(m,lt.yy),lt.yy.lexer=O,lt.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var Vt=O.yylloc;c.push(Vt);var Ee=O.options&&O.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var nt;return nt=g.pop()||O.lex()||Zt,typeof nt!="number"&&(nt instanceof Array&&(g=nt,nt=g.pop()),nt=w.symbols_[nt]||nt),nt}for(var W,ht,Z,Ct,ut={},wt,it,jt,vt;;){if(ht=_[_.length-1],this.defaultActions[ht]?Z=this.defaultActions[ht]:((W===null||typeof W>"u")&&(W=me()),Z=Tt[ht]&&Tt[ht][W]),typeof Z>"u"||!Z.length||!Z[0]){var Ot="";vt=[];for(wt in Tt[ht])this.terminals_[wt]&&wt>Te&&vt.push("'"+this.terminals_[wt]+"'");O.showPosition?Ot="Parse error on line "+(bt+1)+`: `+O.showPosition()+` Expecting `+vt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":Ot="Parse error on line "+(bt+1)+": Unexpected "+(W==Zt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(Ot,{text:O.match,token:this.terminals_[W]||W,line:O.yylineno,loc:Vt,expected:vt})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ht+", token: "+W);switch(Z[0]){case 1:_.push(W),A.push(O.yytext),c.push(O.yylloc),_.push(Z[1]),W=null,Qt=O.yyleng,d=O.yytext,bt=O.yylineno,Vt=O.yylloc;break;case 2:if(it=this.productions_[Z[1]][1],ut.$=A[A.length-it],ut._$={first_line:c[c.length-(it||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(it||1)].first_column,last_column:c[c.length-1].last_column},Ee&&(ut._$.range=[c[c.length-(it||1)].range[0],c[c.length-1].range[1]]),Ct=this.performAction.apply(ut,[d,Qt,bt,lt.yy,Z[1],A,c].concat(ye)),typeof Ct<"u")return Ct;it&&(_=_.slice(0,-1*it*2),A=A.slice(0,-1*it),c=c.slice(0,-1*it)),_.push(this.productions_[Z[1]][0]),A.push(ut.$),c.push(ut._$),jt=Tt[_[_.length-2]][_[_.length-1]],_.push(jt);break;case 3:return!0}}return!0}},ge=function(){var rt={EOF:1,parseError:function(w,_){if(this.yy.parser)this.yy.parser.parseError(w,_);else throw new Error(w)},setInput:function(m,w){return this.yy=w||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var w=m.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},unput:function(m){var w=m.length,_=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===g.length?this.yylloc.first_column:0)+g[g.length-_.length].length-_[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(m){this.unput(this.match.slice(m))},pastInput:function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var m=this.pastInput(),w=new Array(m.length+1).join("-");return m+this.upcomingInput()+` diff --git a/_nuxt/stateDiagram-d53d2428.7b50b6b8.js b/_nuxt/stateDiagram-d53d2428.fce45b47.js similarity index 97% rename from _nuxt/stateDiagram-d53d2428.7b50b6b8.js rename to _nuxt/stateDiagram-d53d2428.fce45b47.js index 258717313b..bb2913474c 100644 --- a/_nuxt/stateDiagram-d53d2428.7b50b6b8.js +++ b/_nuxt/stateDiagram-d53d2428.fce45b47.js @@ -1 +1 @@ -import{p as R,d as N,s as W}from"./styles-47a825a5.44d20f6f.js";import{c as t,i as H,l as b,j as v,n as L,a3 as U,z as C}from"./mermaid.core.6d8597df.js";import{G as A,l as F}from"./layout.e490e9ef.js";import{l as O}from"./line.dc626553.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const X=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),J=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),Y=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},$=(e,i)=>{const o=function(d,m,f){const S=d.append("tspan").attr("x",2*t().state.padding).text(m);f||S.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(d){a||(o(p,d,r),r=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),l=Math.max(x.width,s.width);return w.attr("x2",l+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",l+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let l=Math.max(x,p);l===p&&(l=l+s);let d;const m=e.node().getBBox();i.doc,d=a-c,x>p&&(d=(p-l)/2+c),Math.abs(a-m.x)p&&(d=a-(x-p)/2);const f=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",d).attr("y",f).attr("class",o?"alt-composit":"composit").attr("width",l).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",d+c),x<=p&&r.attr("x",a+(l-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(L.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const w of a){const x=w.trim();if(x.length>0){const l=g.append("tspan");if(l.text(x),r===0){const d=l.node().getBBox();r+=d.height}s+=r,l.attr("x",i+t().state.noteMargin),l.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},T=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&J(s),i.type==="default"&&i.descriptions.length===0&&Y(s,i),i.type==="default"&&i.descriptions.length>0&&$(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const D=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=O().x(function(r){return r.x}).y(function(r){return r.y}).curve(U),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:w,y:x}=C.calcLabelPosition(i.points),l=L.getRows(o.title);let d=0;const m=[];let f=0,S=0;for(let u=0;u<=l.length;u++){const h=r.append("text").attr("text-anchor","middle").text(l[u]).attr("x",w).attr("y",x+d),y=h.node().getBBox();f=Math.max(f,y.width),S=Math.min(S,y.x),b.info(y.x,w,x+d),d===0&&(d=h.node().getBBox().height,b.info("Title height",d,x)),m.push(h)}let k=d*l.length;if(l.length>1){const u=(l.length-1)*d*.5;m.forEach((h,y)=>h.attr("y",x+y*d-u)),k=d*l.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",w-f/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",f+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},K=function(){},Q=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},V=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);Q(r),new A({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}});const x=c.db.getRootDoc();P(x,r,void 0,!1,p,a,c);const l=B.padding,d=r.node().getBBox(),m=d.width+l*2,f=d.height+l*2,S=m*1.75;v(r,f,S,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+m+" "+f)},tt=e=>e?e.length*B.fontSizeFactor:1,P=(e,i,o,c,s,g,p)=>{const a=new A({compound:!0,multigraph:!0});let r,w=!0;for(r=0;r{const y=h.parentElement;let E=0,M=0;y&&(y.parentElement&&(E=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let S=f.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),D(i,a.edge(n),a.edge(n).relation))}),S=f.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=S.width+2*B.padding,k.height=S.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:K,draw:V},lt={parser:R,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; +import{p as R,d as N,s as W}from"./styles-47a825a5.f21cee13.js";import{c as t,i as H,l as b,j as v,n as L,a3 as U,z as C}from"./mermaid.core.bd97f718.js";import{G as A,l as F}from"./layout.11303474.js";import{l as O}from"./line.2cebc606.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const X=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),J=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),Y=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},$=(e,i)=>{const o=function(d,m,f){const S=d.append("tspan").attr("x",2*t().state.padding).text(m);f||S.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(d){a||(o(p,d,r),r=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),l=Math.max(x.width,s.width);return w.attr("x2",l+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",l+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let l=Math.max(x,p);l===p&&(l=l+s);let d;const m=e.node().getBBox();i.doc,d=a-c,x>p&&(d=(p-l)/2+c),Math.abs(a-m.x)p&&(d=a-(x-p)/2);const f=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",d).attr("y",f).attr("class",o?"alt-composit":"composit").attr("width",l).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",d+c),x<=p&&r.attr("x",a+(l-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",d).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",l).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(L.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const w of a){const x=w.trim();if(x.length>0){const l=g.append("tspan");if(l.text(x),r===0){const d=l.node().getBBox();r+=d.height}s+=r,l.attr("x",i+t().state.noteMargin),l.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},T=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&J(s),i.type==="default"&&i.descriptions.length===0&&Y(s,i),i.type==="default"&&i.descriptions.length>0&&$(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const D=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=O().x(function(r){return r.x}).y(function(r){return r.y}).curve(U),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:w,y:x}=C.calcLabelPosition(i.points),l=L.getRows(o.title);let d=0;const m=[];let f=0,S=0;for(let u=0;u<=l.length;u++){const h=r.append("text").attr("text-anchor","middle").text(l[u]).attr("x",w).attr("y",x+d),y=h.node().getBBox();f=Math.max(f,y.width),S=Math.min(S,y.x),b.info(y.x,w,x+d),d===0&&(d=h.node().getBBox().height,b.info("Title height",d,x)),m.push(h)}let k=d*l.length;if(l.length>1){const u=(l.length-1)*d*.5;m.forEach((h,y)=>h.attr("y",x+y*d-u)),k=d*l.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",w-f/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",f+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},K=function(){},Q=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},V=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);Q(r),new A({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}});const x=c.db.getRootDoc();P(x,r,void 0,!1,p,a,c);const l=B.padding,d=r.node().getBBox(),m=d.width+l*2,f=d.height+l*2,S=m*1.75;v(r,f,S,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+m+" "+f)},tt=e=>e?e.length*B.fontSizeFactor:1,P=(e,i,o,c,s,g,p)=>{const a=new A({compound:!0,multigraph:!0});let r,w=!0;for(r=0;r{const y=h.parentElement;let E=0,M=0;y&&(y.parentElement&&(E=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let S=f.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),D(i,a.edge(n),a.edge(n).relation))}),S=f.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=S.width+2*B.padding,k.height=S.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:K,draw:V},lt={parser:R,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; diff --git a/_nuxt/stateDiagram-v2-9765461d.097fb5bb.js b/_nuxt/stateDiagram-v2-9765461d.321e8498.js similarity index 91% rename from _nuxt/stateDiagram-v2-9765461d.097fb5bb.js rename to _nuxt/stateDiagram-v2-9765461d.321e8498.js index 665df7847a..96c6bea6ef 100644 --- a/_nuxt/stateDiagram-v2-9765461d.097fb5bb.js +++ b/_nuxt/stateDiagram-v2-9765461d.321e8498.js @@ -1 +1 @@ -import{p as Q,d as B,s as X,D as H,a as Z,S as j,b as F,c as I}from"./styles-47a825a5.44d20f6f.js";import{G as tt}from"./layout.e490e9ef.js";import{l,c as g,i as x,z as et,j as ot,n as G}from"./mermaid.core.6d8597df.js";import{r as st}from"./index-5219d011.c6c2c006.js";import"./createText-1f5f8f92.2cd7eed0.js";import"./_commonjsHelpers.725317a4.js";import"./entry.8cfa8efb.js";import"./edges-2e77835f.ce02d1cb.js";import"./svgDraw-2526cba0.08c6d93d.js";import"./line.dc626553.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const h="rect",C="rectWithTitle",nt="start",ct="end",it="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,ft="cluster-alt",bt=`${_}-${ft}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",q="text",K="normal";let y={},E=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){l.trace("Extracting classes"),n.db.clear();try{return n.parser.parse(t),n.db.extract(n.db.getRootDocV2()),n.db.getClasses()}catch(e){return e}};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",c=N){const i=e!==null&&e.length>0?`${c}${e}`:"";return`${At}-${t}${i}-${n}`}const A=(t,n,e,c,i,r)=>{const o=e.id,u=$t(c[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=ct),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:G.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=G.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(l.info("Setting cluster for ",o,w(e)),s.type="group",s.dir=w(e),s.shape=e.type===Z?it:rt,s.classes=s.classes+" "+Dt+" "+(r?bt:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,E),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const a={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+E,domId:R(o,E,Y),type:s.type,padding:15},d={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,E,V),type:"group",padding:0};E++;const D=o+M;t.setNode(D,d),t.setNode(a.id,a),t.setNode(o,p),t.setParent(o,D),t.setParent(a.id,D);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:q,thickness:K})}else t.setNode(o,p)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),xt(t,e,e.doc,c,i,!r))},xt=(t,n,e,c,i,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,c,i,r);break;case H:A(t,n,o,c,i,r);break;case j:{A(t,n,o.state1,c,i,r),A(t,n,o.state2,c,i,r);const u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:G.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:q,thickness:K,classes:U};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},w=(t,n=I)=>{let e=n;if(t.doc)for(let c=0;c{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; +import{p as Q,d as B,s as X,D as H,a as Z,S as j,b as F,c as I}from"./styles-47a825a5.f21cee13.js";import{G as tt}from"./layout.11303474.js";import{l,c as g,i as x,z as et,j as ot,n as G}from"./mermaid.core.bd97f718.js";import{r as st}from"./index-5219d011.3b2aa214.js";import"./createText-1f5f8f92.9af55188.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./edges-2e77835f.ec894958.js";import"./svgDraw-2526cba0.1cdd2cec.js";import"./line.2cebc606.js";import"./array.9f3ba611.js";import"./path.53f90ab3.js";const h="rect",C="rectWithTitle",nt="start",ct="end",it="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,ft="cluster-alt",bt=`${_}-${ft}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",q="text",K="normal";let y={},E=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){l.trace("Extracting classes"),n.db.clear();try{return n.parser.parse(t),n.db.extract(n.db.getRootDocV2()),n.db.getClasses()}catch(e){return e}};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",c=N){const i=e!==null&&e.length>0?`${c}${e}`:"";return`${At}-${t}${i}-${n}`}const A=(t,n,e,c,i,r)=>{const o=e.id,u=$t(c[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=ct),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:G.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=G.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(l.info("Setting cluster for ",o,w(e)),s.type="group",s.dir=w(e),s.shape=e.type===Z?it:rt,s.classes=s.classes+" "+Dt+" "+(r?bt:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,E),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const a={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+E,domId:R(o,E,Y),type:s.type,padding:15},d={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,E,V),type:"group",padding:0};E++;const D=o+M;t.setNode(D,d),t.setNode(a.id,a),t.setNode(o,p),t.setParent(o,D),t.setParent(a.id,D);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:q,thickness:K})}else t.setNode(o,p)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),xt(t,e,e.doc,c,i,!r))},xt=(t,n,e,c,i,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,c,i,r);break;case H:A(t,n,o,c,i,r);break;case j:{A(t,n,o.state1,c,i,r),A(t,n,o.state2,c,i,r);const u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:G.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:q,thickness:K,classes:U};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},w=(t,n=I)=>{let e=n;if(t.doc)for(let c=0;c{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; diff --git a/_nuxt/styles-16907e1b.4469fafb.js b/_nuxt/styles-16907e1b.a9f67e6d.js similarity index 99% rename from _nuxt/styles-16907e1b.4469fafb.js rename to _nuxt/styles-16907e1b.a9f67e6d.js index 978573bcbc..a37d226a0c 100644 --- a/_nuxt/styles-16907e1b.4469fafb.js +++ b/_nuxt/styles-16907e1b.a9f67e6d.js @@ -1,4 +1,4 @@ -import{s as Ke,g as Qe,a as je,b as Xe,c as I,x as He,y as We,e as qe,A as Je,l as Ze,n as ae,z as Oe,i as w}from"./mermaid.core.6d8597df.js";var le=function(){var e=function(S,u,r,l){for(r=r||{},l=S.length;l--;r[S[l]]=u);return r},n=[1,3],c=[1,7],o=[1,8],h=[1,9],E=[1,10],d=[1,13],b=[1,12],D=[1,16,25],fe=[1,20],pe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,48],ge=[1,39],ke=[1,37],Fe=[1,38],me=[1,44],De=[1,45],_e=[1,40],be=[1,41],Be=[1,42],ye=[1,43],C=[1,49],g=[1,50],k=[1,51],m=[1,52],a=[16,25],G=[1,66],M=[1,67],U=[1,68],z=[1,69],Y=[1,70],q=[1,71],J=[1,72],Te=[1,82],O=[16,25,28,29,36,49,50,64,65,66,67,68,69,70,75,77],Z=[16,25,28,29,34,36,49,50,55,64,65,66,67,68,69,70,75,77,92,93,94,95],Se=[5,8,9,10,11,16,19,23,25],K=[29,92,93,94,95],R=[29,69,70,92,93,94,95],ve=[29,64,65,66,67,68,92,93,94,95],$=[1,96],ee=[16,25,49,50],Q=[16,25,36],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,classLabel:27,SQS:28,STR:29,SQE:30,className:31,alphaNumToken:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,classStatement:37,methodStatement:38,annotationStatement:39,clickStatement:40,cssClassStatement:41,noteStatement:42,acc_title:43,acc_title_value:44,acc_descr:45,acc_descr_value:46,acc_descr_multiline_value:47,classIdentifier:48,STYLE_SEPARATOR:49,STRUCT_START:50,members:51,STRUCT_STOP:52,CLASS:53,ANNOTATION_START:54,ANNOTATION_END:55,MEMBER:56,SEPARATOR:57,relation:58,NOTE_FOR:59,noteText:60,NOTE:61,relationType:62,lineType:63,AGGREGATION:64,EXTENSION:65,COMPOSITION:66,DEPENDENCY:67,LOLLIPOP:68,LINE:69,DOTTED_LINE:70,CALLBACK:71,LINK:72,LINK_TARGET:73,CLICK:74,CALLBACK_NAME:75,CALLBACK_ARGS:76,HREF:77,CSSCLASS:78,commentToken:79,textToken:80,graphCodeTokens:81,textNoTagsToken:82,TAGSTART:83,TAGEND:84,"==":85,"--":86,PCT:87,DEFAULT:88,SPACE:89,MINUS:90,keywords:91,UNICODE_TEXT:92,NUM:93,ALPHA:94,BQUOTE_STR:95,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",28:"SQS",29:"STR",30:"SQE",34:"GENERICTYPE",36:"LABEL",43:"acc_title",44:"acc_title_value",45:"acc_descr",46:"acc_descr_value",47:"acc_descr_multiline_value",49:"STYLE_SEPARATOR",50:"STRUCT_START",52:"STRUCT_STOP",53:"CLASS",54:"ANNOTATION_START",55:"ANNOTATION_END",56:"MEMBER",57:"SEPARATOR",59:"NOTE_FOR",61:"NOTE",64:"AGGREGATION",65:"EXTENSION",66:"COMPOSITION",67:"DEPENDENCY",68:"LOLLIPOP",69:"LINE",70:"DOTTED_LINE",71:"CALLBACK",72:"LINK",73:"LINK_TARGET",74:"CLICK",75:"CALLBACK_NAME",76:"CALLBACK_ARGS",77:"HREF",78:"CSSCLASS",81:"graphCodeTokens",83:"TAGSTART",84:"TAGEND",85:"==",86:"--",87:"PCT",88:"DEFAULT",89:"SPACE",90:"MINUS",91:"keywords",92:"UNICODE_TEXT",93:"NUM",94:"ALPHA",95:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,3],[31,1],[31,1],[31,2],[31,2],[31,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[37,1],[37,3],[37,4],[37,6],[48,2],[48,3],[39,4],[51,1],[51,2],[38,1],[38,2],[38,1],[38,1],[35,3],[35,4],[35,4],[35,5],[42,3],[42,2],[58,3],[58,2],[58,2],[58,1],[62,1],[62,1],[62,1],[62,1],[62,1],[63,1],[63,1],[40,3],[40,4],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[41,3],[79,1],[79,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[82,1],[82,1],[82,1],[82,1],[32,1],[32,1],[32,1],[33,1],[60,1]],performAction:function(u,r,l,i,A,t,P){var s=t.length-1;switch(A){case 5:i.setDirection("TB");break;case 6:i.setDirection("BT");break;case 7:i.setDirection("RL");break;case 8:i.setDirection("LR");break;case 12:i.parseDirective("%%{","open_directive");break;case 13:i.parseDirective(t[s],"type_directive");break;case 14:t[s]=t[s].trim().replace(/'/g,'"'),i.parseDirective(t[s],"arg_directive");break;case 15:i.parseDirective("}%%","close_directive","class");break;case 20:this.$=t[s-1];break;case 21:case 22:this.$=t[s];break;case 23:this.$=t[s-1]+t[s];break;case 24:case 25:this.$=t[s-1]+"~"+t[s];break;case 26:i.addRelation(t[s]);break;case 27:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 36:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 37:case 38:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 40:i.setCssClass(t[s-2],t[s]);break;case 41:i.addMembers(t[s-3],t[s-1]);break;case 42:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],i.addClass(t[s]);break;case 44:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 45:i.addAnnotation(t[s],t[s-2]);break;case 46:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:i.addNote(t[s],t[s-1]);break;case 57:i.addNote(t[s]);break;case 58:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 59:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 61:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 62:this.$=i.relationType.AGGREGATION;break;case 63:this.$=i.relationType.EXTENSION;break;case 64:this.$=i.relationType.COMPOSITION;break;case 65:this.$=i.relationType.DEPENDENCY;break;case 66:this.$=i.relationType.LOLLIPOP;break;case 67:this.$=i.lineType.LINE;break;case 68:this.$=i.lineType.DOTTED_LINE;break;case 69:case 75:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 70:case 76:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 71:case 79:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 72:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 73:case 81:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74:case 82:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 77:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 78:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[2,9]},e(D,[2,5]),e(D,[2,6]),e(D,[2,7]),e(D,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:fe},e([17,22],[2,13]),{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:21,26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},{16:[1,53]},{18:54,21:[1,55]},{16:[2,15]},{25:[1,56]},{16:[1,57],25:[2,17]},e(a,[2,26],{36:[1,58]}),e(a,[2,28]),e(a,[2,29]),e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),e(a,[2,33]),e(a,[2,34]),e(a,[2,35]),{44:[1,59]},{46:[1,60]},e(a,[2,38]),e(a,[2,48],{58:61,62:64,63:65,29:[1,62],36:[1,63],64:G,65:M,66:U,67:z,68:Y,69:q,70:J}),e(a,[2,39],{49:[1,73],50:[1,74]}),e(a,[2,50]),e(a,[2,51]),{32:75,92:C,93:g,94:k},{31:76,32:46,33:47,92:C,93:g,94:k,95:m},{31:77,32:46,33:47,92:C,93:g,94:k,95:m},{31:78,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,79]},{31:80,32:46,33:47,92:C,93:g,94:k,95:m},{29:Te,60:81},e(O,[2,21],{32:46,33:47,31:83,34:[1,84],92:C,93:g,94:k,95:m}),e(O,[2,22],{34:[1,85]}),{31:86,32:46,33:47,92:C,93:g,94:k,95:m},e(Z,[2,97]),e(Z,[2,98]),e(Z,[2,99]),e([16,25,28,29,34,36,49,50,64,65,66,67,68,69,70,75,77],[2,100]),e(Se,[2,10]),{15:87,22:fe},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:88,25:[2,18],26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},e(a,[2,27]),e(a,[2,36]),e(a,[2,37]),{29:[1,90],31:89,32:46,33:47,92:C,93:g,94:k,95:m},{58:91,62:64,63:65,64:G,65:M,66:U,67:z,68:Y,69:q,70:J},e(a,[2,49]),{63:92,69:q,70:J},e(K,[2,61],{62:93,64:G,65:M,66:U,67:z,68:Y}),e(R,[2,62]),e(R,[2,63]),e(R,[2,64]),e(R,[2,65]),e(R,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{32:94,92:C,93:g,94:k},{51:95,56:$},{55:[1,97]},{29:[1,98]},{29:[1,99]},{75:[1,100],77:[1,101]},{32:102,92:C,93:g,94:k},{29:Te,60:103},e(a,[2,57]),e(a,[2,101]),e(O,[2,23]),e(O,[2,24]),e(O,[2,25]),e(ee,[2,43],{27:104,28:[1,105]}),{16:[1,106]},{25:[2,19]},e(Q,[2,52]),{31:107,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,109],31:108,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,60],{62:110,64:G,65:M,66:U,67:z,68:Y}),e(K,[2,59]),e(a,[2,40],{50:[1,111]}),{52:[1,112]},{51:113,52:[2,46],56:$},{31:114,32:46,33:47,92:C,93:g,94:k,95:m},e(a,[2,69],{29:[1,115]}),e(a,[2,71],{29:[1,117],73:[1,116]}),e(a,[2,75],{29:[1,118],76:[1,119]}),e(a,[2,79],{29:[1,121],73:[1,120]}),e(a,[2,83]),e(a,[2,56]),e(ee,[2,44]),{29:[1,122]},e(Se,[2,11]),e(Q,[2,54]),e(Q,[2,53]),{31:123,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,58]),{51:124,56:$},e(a,[2,41]),{52:[2,47]},e(a,[2,45]),e(a,[2,70]),e(a,[2,72]),e(a,[2,73],{73:[1,125]}),e(a,[2,76]),e(a,[2,77],{29:[1,126]}),e(a,[2,80]),e(a,[2,81],{73:[1,127]}),{30:[1,128]},e(Q,[2,55]),{52:[1,129]},e(a,[2,74]),e(a,[2,78]),e(a,[2,82]),e(ee,[2,20]),e(a,[2,42])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],55:[2,14],56:[2,16],88:[2,19],113:[2,47]},parseError:function(u,r){if(r.recoverable)this.trace(u);else{var l=new Error(u);throw l.hash=r,l}},parse:function(u){var r=this,l=[0],i=[],A=[null],t=[],P=this.table,s="",j=0,Ne=0,Me=2,Le=1,Ue=t.slice.call(arguments,1),p=Object.create(this.lexer),v={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(v.yy[ie]=this.yy[ie]);p.setInput(u,v.yy),v.yy.lexer=p,v.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var ue=p.yylloc;t.push(ue);var ze=p.options&&p.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(){var y;return y=i.pop()||p.lex()||Le,typeof y!="number"&&(y instanceof Array&&(i=y,y=i.pop()),y=r.symbols_[y]||y),y}for(var F,N,_,ne,L={},X,B,Ie,H;;){if(N=l[l.length-1],this.defaultActions[N]?_=this.defaultActions[N]:((F===null||typeof F>"u")&&(F=Ye()),_=P[N]&&P[N][F]),typeof _>"u"||!_.length||!_[0]){var re="";H=[];for(X in P[N])this.terminals_[X]&&X>Me&&H.push("'"+this.terminals_[X]+"'");p.showPosition?re="Parse error on line "+(j+1)+`: +import{s as Ke,g as Qe,a as je,b as Xe,c as I,x as He,y as We,e as qe,A as Je,l as Ze,n as ae,z as Oe,i as w}from"./mermaid.core.bd97f718.js";var le=function(){var e=function(S,u,r,l){for(r=r||{},l=S.length;l--;r[S[l]]=u);return r},n=[1,3],c=[1,7],o=[1,8],h=[1,9],E=[1,10],d=[1,13],b=[1,12],D=[1,16,25],fe=[1,20],pe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,48],ge=[1,39],ke=[1,37],Fe=[1,38],me=[1,44],De=[1,45],_e=[1,40],be=[1,41],Be=[1,42],ye=[1,43],C=[1,49],g=[1,50],k=[1,51],m=[1,52],a=[16,25],G=[1,66],M=[1,67],U=[1,68],z=[1,69],Y=[1,70],q=[1,71],J=[1,72],Te=[1,82],O=[16,25,28,29,36,49,50,64,65,66,67,68,69,70,75,77],Z=[16,25,28,29,34,36,49,50,55,64,65,66,67,68,69,70,75,77,92,93,94,95],Se=[5,8,9,10,11,16,19,23,25],K=[29,92,93,94,95],R=[29,69,70,92,93,94,95],ve=[29,64,65,66,67,68,92,93,94,95],$=[1,96],ee=[16,25,49,50],Q=[16,25,36],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,classLabel:27,SQS:28,STR:29,SQE:30,className:31,alphaNumToken:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,classStatement:37,methodStatement:38,annotationStatement:39,clickStatement:40,cssClassStatement:41,noteStatement:42,acc_title:43,acc_title_value:44,acc_descr:45,acc_descr_value:46,acc_descr_multiline_value:47,classIdentifier:48,STYLE_SEPARATOR:49,STRUCT_START:50,members:51,STRUCT_STOP:52,CLASS:53,ANNOTATION_START:54,ANNOTATION_END:55,MEMBER:56,SEPARATOR:57,relation:58,NOTE_FOR:59,noteText:60,NOTE:61,relationType:62,lineType:63,AGGREGATION:64,EXTENSION:65,COMPOSITION:66,DEPENDENCY:67,LOLLIPOP:68,LINE:69,DOTTED_LINE:70,CALLBACK:71,LINK:72,LINK_TARGET:73,CLICK:74,CALLBACK_NAME:75,CALLBACK_ARGS:76,HREF:77,CSSCLASS:78,commentToken:79,textToken:80,graphCodeTokens:81,textNoTagsToken:82,TAGSTART:83,TAGEND:84,"==":85,"--":86,PCT:87,DEFAULT:88,SPACE:89,MINUS:90,keywords:91,UNICODE_TEXT:92,NUM:93,ALPHA:94,BQUOTE_STR:95,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",28:"SQS",29:"STR",30:"SQE",34:"GENERICTYPE",36:"LABEL",43:"acc_title",44:"acc_title_value",45:"acc_descr",46:"acc_descr_value",47:"acc_descr_multiline_value",49:"STYLE_SEPARATOR",50:"STRUCT_START",52:"STRUCT_STOP",53:"CLASS",54:"ANNOTATION_START",55:"ANNOTATION_END",56:"MEMBER",57:"SEPARATOR",59:"NOTE_FOR",61:"NOTE",64:"AGGREGATION",65:"EXTENSION",66:"COMPOSITION",67:"DEPENDENCY",68:"LOLLIPOP",69:"LINE",70:"DOTTED_LINE",71:"CALLBACK",72:"LINK",73:"LINK_TARGET",74:"CLICK",75:"CALLBACK_NAME",76:"CALLBACK_ARGS",77:"HREF",78:"CSSCLASS",81:"graphCodeTokens",83:"TAGSTART",84:"TAGEND",85:"==",86:"--",87:"PCT",88:"DEFAULT",89:"SPACE",90:"MINUS",91:"keywords",92:"UNICODE_TEXT",93:"NUM",94:"ALPHA",95:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,3],[31,1],[31,1],[31,2],[31,2],[31,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[37,1],[37,3],[37,4],[37,6],[48,2],[48,3],[39,4],[51,1],[51,2],[38,1],[38,2],[38,1],[38,1],[35,3],[35,4],[35,4],[35,5],[42,3],[42,2],[58,3],[58,2],[58,2],[58,1],[62,1],[62,1],[62,1],[62,1],[62,1],[63,1],[63,1],[40,3],[40,4],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[40,3],[40,4],[40,4],[40,5],[41,3],[79,1],[79,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[82,1],[82,1],[82,1],[82,1],[32,1],[32,1],[32,1],[33,1],[60,1]],performAction:function(u,r,l,i,A,t,P){var s=t.length-1;switch(A){case 5:i.setDirection("TB");break;case 6:i.setDirection("BT");break;case 7:i.setDirection("RL");break;case 8:i.setDirection("LR");break;case 12:i.parseDirective("%%{","open_directive");break;case 13:i.parseDirective(t[s],"type_directive");break;case 14:t[s]=t[s].trim().replace(/'/g,'"'),i.parseDirective(t[s],"arg_directive");break;case 15:i.parseDirective("}%%","close_directive","class");break;case 20:this.$=t[s-1];break;case 21:case 22:this.$=t[s];break;case 23:this.$=t[s-1]+t[s];break;case 24:case 25:this.$=t[s-1]+"~"+t[s];break;case 26:i.addRelation(t[s]);break;case 27:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 36:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 37:case 38:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 40:i.setCssClass(t[s-2],t[s]);break;case 41:i.addMembers(t[s-3],t[s-1]);break;case 42:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],i.addClass(t[s]);break;case 44:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 45:i.addAnnotation(t[s],t[s-2]);break;case 46:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:i.addNote(t[s],t[s-1]);break;case 57:i.addNote(t[s]);break;case 58:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 59:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 61:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 62:this.$=i.relationType.AGGREGATION;break;case 63:this.$=i.relationType.EXTENSION;break;case 64:this.$=i.relationType.COMPOSITION;break;case 65:this.$=i.relationType.DEPENDENCY;break;case 66:this.$=i.relationType.LOLLIPOP;break;case 67:this.$=i.lineType.LINE;break;case 68:this.$=i.lineType.DOTTED_LINE;break;case 69:case 75:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 70:case 76:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 71:case 79:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 72:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 73:case 81:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74:case 82:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 77:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 78:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:n,6:4,7:5,8:c,9:o,10:h,11:E,12:6,13:11,19:d,23:b},{1:[2,9]},e(D,[2,5]),e(D,[2,6]),e(D,[2,7]),e(D,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:fe},e([17,22],[2,13]),{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:21,26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},{16:[1,53]},{18:54,21:[1,55]},{16:[2,15]},{25:[1,56]},{16:[1,57],25:[2,17]},e(a,[2,26],{36:[1,58]}),e(a,[2,28]),e(a,[2,29]),e(a,[2,30]),e(a,[2,31]),e(a,[2,32]),e(a,[2,33]),e(a,[2,34]),e(a,[2,35]),{44:[1,59]},{46:[1,60]},e(a,[2,38]),e(a,[2,48],{58:61,62:64,63:65,29:[1,62],36:[1,63],64:G,65:M,66:U,67:z,68:Y,69:q,70:J}),e(a,[2,39],{49:[1,73],50:[1,74]}),e(a,[2,50]),e(a,[2,51]),{32:75,92:C,93:g,94:k},{31:76,32:46,33:47,92:C,93:g,94:k,95:m},{31:77,32:46,33:47,92:C,93:g,94:k,95:m},{31:78,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,79]},{31:80,32:46,33:47,92:C,93:g,94:k,95:m},{29:Te,60:81},e(O,[2,21],{32:46,33:47,31:83,34:[1,84],92:C,93:g,94:k,95:m}),e(O,[2,22],{34:[1,85]}),{31:86,32:46,33:47,92:C,93:g,94:k,95:m},e(Z,[2,97]),e(Z,[2,98]),e(Z,[2,99]),e([16,25,28,29,34,36,49,50,64,65,66,67,68,69,70,75,77],[2,100]),e(Se,[2,10]),{15:87,22:fe},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:c,9:o,10:h,11:E,13:11,19:d,24:88,25:[2,18],26:22,31:35,32:46,33:47,35:23,37:24,38:25,39:26,40:27,41:28,42:29,43:pe,45:de,47:Ee,48:36,53:Ce,54:ge,56:ke,57:Fe,59:me,61:De,71:_e,72:be,74:Be,78:ye,92:C,93:g,94:k,95:m},e(a,[2,27]),e(a,[2,36]),e(a,[2,37]),{29:[1,90],31:89,32:46,33:47,92:C,93:g,94:k,95:m},{58:91,62:64,63:65,64:G,65:M,66:U,67:z,68:Y,69:q,70:J},e(a,[2,49]),{63:92,69:q,70:J},e(K,[2,61],{62:93,64:G,65:M,66:U,67:z,68:Y}),e(R,[2,62]),e(R,[2,63]),e(R,[2,64]),e(R,[2,65]),e(R,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{32:94,92:C,93:g,94:k},{51:95,56:$},{55:[1,97]},{29:[1,98]},{29:[1,99]},{75:[1,100],77:[1,101]},{32:102,92:C,93:g,94:k},{29:Te,60:103},e(a,[2,57]),e(a,[2,101]),e(O,[2,23]),e(O,[2,24]),e(O,[2,25]),e(ee,[2,43],{27:104,28:[1,105]}),{16:[1,106]},{25:[2,19]},e(Q,[2,52]),{31:107,32:46,33:47,92:C,93:g,94:k,95:m},{29:[1,109],31:108,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,60],{62:110,64:G,65:M,66:U,67:z,68:Y}),e(K,[2,59]),e(a,[2,40],{50:[1,111]}),{52:[1,112]},{51:113,52:[2,46],56:$},{31:114,32:46,33:47,92:C,93:g,94:k,95:m},e(a,[2,69],{29:[1,115]}),e(a,[2,71],{29:[1,117],73:[1,116]}),e(a,[2,75],{29:[1,118],76:[1,119]}),e(a,[2,79],{29:[1,121],73:[1,120]}),e(a,[2,83]),e(a,[2,56]),e(ee,[2,44]),{29:[1,122]},e(Se,[2,11]),e(Q,[2,54]),e(Q,[2,53]),{31:123,32:46,33:47,92:C,93:g,94:k,95:m},e(K,[2,58]),{51:124,56:$},e(a,[2,41]),{52:[2,47]},e(a,[2,45]),e(a,[2,70]),e(a,[2,72]),e(a,[2,73],{73:[1,125]}),e(a,[2,76]),e(a,[2,77],{29:[1,126]}),e(a,[2,80]),e(a,[2,81],{73:[1,127]}),{30:[1,128]},e(Q,[2,55]),{52:[1,129]},e(a,[2,74]),e(a,[2,78]),e(a,[2,82]),e(ee,[2,20]),e(a,[2,42])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],55:[2,14],56:[2,16],88:[2,19],113:[2,47]},parseError:function(u,r){if(r.recoverable)this.trace(u);else{var l=new Error(u);throw l.hash=r,l}},parse:function(u){var r=this,l=[0],i=[],A=[null],t=[],P=this.table,s="",j=0,Ne=0,Me=2,Le=1,Ue=t.slice.call(arguments,1),p=Object.create(this.lexer),v={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(v.yy[ie]=this.yy[ie]);p.setInput(u,v.yy),v.yy.lexer=p,v.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var ue=p.yylloc;t.push(ue);var ze=p.options&&p.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(){var y;return y=i.pop()||p.lex()||Le,typeof y!="number"&&(y instanceof Array&&(i=y,y=i.pop()),y=r.symbols_[y]||y),y}for(var F,N,_,ne,L={},X,B,Ie,H;;){if(N=l[l.length-1],this.defaultActions[N]?_=this.defaultActions[N]:((F===null||typeof F>"u")&&(F=Ye()),_=P[N]&&P[N][F]),typeof _>"u"||!_.length||!_[0]){var re="";H=[];for(X in P[N])this.terminals_[X]&&X>Me&&H.push("'"+this.terminals_[X]+"'");p.showPosition?re="Parse error on line "+(j+1)+`: `+p.showPosition()+` Expecting `+H.join(", ")+", got '"+(this.terminals_[F]||F)+"'":re="Parse error on line "+(j+1)+": Unexpected "+(F==Le?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(re,{text:p.match,token:this.terminals_[F]||F,line:p.yylineno,loc:ue,expected:H})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+F);switch(_[0]){case 1:l.push(F),A.push(p.yytext),t.push(p.yylloc),l.push(_[1]),F=null,Ne=p.yyleng,s=p.yytext,j=p.yylineno,ue=p.yylloc;break;case 2:if(B=this.productions_[_[1]][1],L.$=A[A.length-B],L._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},ze&&(L._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),ne=this.performAction.apply(L,[s,Ne,j,v.yy,_[1],A,t].concat(Ue)),typeof ne<"u")return ne;B&&(l=l.slice(0,-1*B*2),A=A.slice(0,-1*B),t=t.slice(0,-1*B)),l.push(this.productions_[_[1]][0]),A.push(L.$),t.push(L._$),Ie=P[l[l.length-2]][l[l.length-1]],l.push(Ie);break;case 3:return!0}}return!0}},Ge=function(){var S={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(u,r){return this.yy=r||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var r=u.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var r=u.length,l=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===i.length?this.yylloc.first_column:0)+i[i.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),r=new Array(u.length+1).join("-");return u+this.upcomingInput()+` diff --git a/_nuxt/styles-26373982.b5ae6569.js b/_nuxt/styles-26373982.92ac74e5.js similarity index 97% rename from _nuxt/styles-26373982.b5ae6569.js rename to _nuxt/styles-26373982.92ac74e5.js index 128d8ccba4..a670006d8d 100644 --- a/_nuxt/styles-26373982.b5ae6569.js +++ b/_nuxt/styles-26373982.92ac74e5.js @@ -1,4 +1,4 @@ -import{i as V,G as q}from"./layout.e490e9ef.js";import{Y as M,q as N,l as u,r as R,c as C,n as I,t as $,p as E,i as _,z as F,u as U}from"./mermaid.core.6d8597df.js";import{f as H}from"./flowDb-52e24d17.7b23ed64.js";import{r as W}from"./index-5219d011.c6c2c006.js";import{s as X}from"./selectAll.3bc18744.js";function se(e,l){return!!e.children(l).length}function ne(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var Y=/:/g;function L(e){return e?String(e).replace(Y,"\\:"):""}function J(e,l){l&&e.attr("style",l)}function ie(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ce(e,l){var c=l.graph();if(V(c)){var a=c.transition;if(M(a))return a(e)}return e}function K(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}J(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const G={},Q=function(e){const l=Object.keys(e);for(const c of l)G[c]=e[c]},z=function(e,l,c,a,i,d){const w=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let k="default";r.classes.length>0&&(k=r.classes.join(" ")),k=k+" flowchart-label";const h=N(r.styles);let t=r.text!==void 0?r.text:r.id,n;if(u.info("vertex",r,r.labelType),r.labelType==="markdown")u.info("vertex",r,r.labelType);else if(R(C().flowchart.htmlLabels)){const v={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,g=>``)};n=K(w,v).node(),n.parentNode.removeChild(n)}else{const v=i.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",h.labelStyle.replace("color:","fill:"));const g=t.split(I.lineBreakRegex);for(const T of g){const m=i.createElementNS("http://www.w3.org/2000/svg","tspan");m.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),m.setAttribute("dy","1em"),m.setAttribute("x","1"),m.textContent=T,v.appendChild(m)}n=v}let f=0,o="";switch(r.type){case"round":f=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:h.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:f,ry:f,class:k,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:C().flowchart.padding}),u.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:f,ry:f,class:k,style:h.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:C().flowchart.padding})})},P=function(e,l,c){u.info("abc78 edges = ",e);let a=0,i={},d,w;if(e.defaultStyle!==void 0){const s=N(e.defaultStyle);d=s.style,w=s.labelStyle}e.forEach(function(s){a++;var p="L-"+s.start+"-"+s.end;i[p]===void 0?(i[p]=0,u.info("abc78 new entry",p,i[p])):(i[p]++,u.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];u.info("abc78 new link id to be used is",p,r,i[p]);var k="LS-"+s.start,h="LE-"+s.end;const t={style:"",labelStyle:""};switch(t.minlen=s.length||1,s.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let n="",f="";switch(s.stroke){case"normal":n="fill:none;",d!==void 0&&(n=d),w!==void 0&&(f=w),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(s.style!==void 0){const o=N(s.style);n=o.style,f=o.labelStyle}t.style=t.style+=n,t.labelStyle=t.labelStyle+=f,s.interpolate!==void 0?t.curve=$(s.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),s.text===void 0?s.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=s.labelType,t.label=s.text.replace(I.lineBreakRegex,` +import{i as V,G as q}from"./layout.11303474.js";import{Y as M,q as N,l as u,r as R,c as C,n as I,t as $,p as E,i as _,z as F,u as U}from"./mermaid.core.bd97f718.js";import{f as H}from"./flowDb-52e24d17.7a28c8bc.js";import{r as W}from"./index-5219d011.3b2aa214.js";import{s as X}from"./selectAll.41f6743d.js";function se(e,l){return!!e.children(l).length}function ne(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var Y=/:/g;function L(e){return e?String(e).replace(Y,"\\:"):""}function J(e,l){l&&e.attr("style",l)}function ie(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ce(e,l){var c=l.graph();if(V(c)){var a=c.transition;if(M(a))return a(e)}return e}function K(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}J(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const G={},Q=function(e){const l=Object.keys(e);for(const c of l)G[c]=e[c]},z=function(e,l,c,a,i,d){const w=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let k="default";r.classes.length>0&&(k=r.classes.join(" ")),k=k+" flowchart-label";const h=N(r.styles);let t=r.text!==void 0?r.text:r.id,n;if(u.info("vertex",r,r.labelType),r.labelType==="markdown")u.info("vertex",r,r.labelType);else if(R(C().flowchart.htmlLabels)){const v={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,g=>``)};n=K(w,v).node(),n.parentNode.removeChild(n)}else{const v=i.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",h.labelStyle.replace("color:","fill:"));const g=t.split(I.lineBreakRegex);for(const T of g){const m=i.createElementNS("http://www.w3.org/2000/svg","tspan");m.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),m.setAttribute("dy","1em"),m.setAttribute("x","1"),m.textContent=T,v.appendChild(m)}n=v}let f=0,o="";switch(r.type){case"round":f=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:h.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:f,ry:f,class:k,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:C().flowchart.padding}),u.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:f,ry:f,class:k,style:h.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:C().flowchart.padding})})},P=function(e,l,c){u.info("abc78 edges = ",e);let a=0,i={},d,w;if(e.defaultStyle!==void 0){const s=N(e.defaultStyle);d=s.style,w=s.labelStyle}e.forEach(function(s){a++;var p="L-"+s.start+"-"+s.end;i[p]===void 0?(i[p]=0,u.info("abc78 new entry",p,i[p])):(i[p]++,u.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];u.info("abc78 new link id to be used is",p,r,i[p]);var k="LS-"+s.start,h="LE-"+s.end;const t={style:"",labelStyle:""};switch(t.minlen=s.length||1,s.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let n="",f="";switch(s.stroke){case"normal":n="fill:none;",d!==void 0&&(n=d),w!==void 0&&(f=w),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(s.style!==void 0){const o=N(s.style);n=o.style,f=o.labelStyle}t.style=t.style+=n,t.labelStyle=t.labelStyle+=f,s.interpolate!==void 0?t.curve=$(s.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),s.text===void 0?s.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=s.labelType,t.label=s.text.replace(I.lineBreakRegex,` `),s.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+k+" "+h,l.setEdge(s.start,s.end,t,a)})},Z=function(e,l){u.info("Extracting classes"),l.db.clear();try{return l.parse(e),l.db.getClasses()}catch{return}},j=function(e,l,c,a){u.info("Drawing flowchart"),a.db.clear(),H.setGen("gen-2"),a.parser.parse(e);let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:w}=C(),s=w.nodeSpacing||50,p=w.rankSpacing||50;let r;d==="sandbox"&&(r=_("#i"+l));const k=d==="sandbox"?_(r.nodes()[0].contentDocument.body):_("body"),h=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new q({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:s,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let n;const f=a.db.getSubGraphs();u.info("Subgraphs - ",f);for(let b=f.length-1;b>=0;b--)n=f[b],u.info("Subgraph - ",n),a.db.addVertex(n.id,{text:n.title,type:n.labelType},"group",void 0,n.classes,n.dir);const o=a.db.getVertices(),v=a.db.getEdges();u.info("Edges",v);let g=0;for(g=f.length-1;g>=0;g--){n=f[g],X("cluster").append("text");for(let b=0;b`.label { font-family: ${e.fontFamily}; color: ${e.nodeTextColor||e.textColor}; diff --git a/_nuxt/styles-47a825a5.44d20f6f.js b/_nuxt/styles-47a825a5.f21cee13.js similarity index 99% rename from _nuxt/styles-47a825a5.44d20f6f.js rename to _nuxt/styles-47a825a5.f21cee13.js index c64ab2ab6f..57e2358a77 100644 --- a/_nuxt/styles-47a825a5.44d20f6f.js +++ b/_nuxt/styles-47a825a5.f21cee13.js @@ -1,4 +1,4 @@ -import{c as Y,g as Ht,s as Xt,a as Kt,b as Wt,x as Jt,y as qt,e as Qt,l as v,n as ht,A as Zt,aB as te}from"./mermaid.core.6d8597df.js";var mt=function(){var t=function(D,r,a,i){for(a=a||{},i=D.length;i--;a[D[i]]=r);return a},s=[1,2],n=[1,3],h=[1,5],u=[1,7],f=[2,5],p=[1,15],x=[1,17],d=[1,21],k=[1,22],T=[1,23],G=[1,24],R=[1,37],j=[1,25],U=[1,26],z=[1,27],M=[1,28],H=[1,29],X=[1,32],K=[1,33],W=[1,34],J=[1,35],q=[1,36],Q=[1,39],Z=[1,40],tt=[1,41],et=[1,42],w=[1,38],Ct=[1,45],o=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],st=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ut=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(r,a,i,l,y,e,B){var c=e.length-1;switch(y){case 4:return l.setRootDoc(e[c]),e[c];case 5:this.$=[];break;case 6:e[c]!="nl"&&(e[c-1].push(e[c]),this.$=e[c-1]);break;case 7:case 8:this.$=e[c];break;case 9:this.$="nl";break;case 12:this.$=e[c];break;case 13:const $=e[c-1];$.description=l.trimColon(e[c]),this.$=$;break;case 14:this.$={stmt:"relation",state1:e[c-2],state2:e[c]};break;case 15:const pt=l.trimColon(e[c]);this.$={stmt:"relation",state1:e[c-3],state2:e[c-1],description:pt};break;case 19:this.$={stmt:"state",id:e[c-3],type:"default",description:"",doc:e[c-1]};break;case 20:var C=e[c],O=e[c-2].trim();if(e[c].match(":")){var it=e[c].split(":");C=it[0],O=[O,it[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 21:this.$={stmt:"state",id:e[c-3],type:"default",description:e[c-5],doc:e[c-1]};break;case 22:this.$={stmt:"state",id:e[c],type:"fork"};break;case 23:this.$={stmt:"state",id:e[c],type:"join"};break;case 24:this.$={stmt:"state",id:e[c],type:"choice"};break;case 25:this.$={stmt:"state",id:l.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:e[c-1].trim(),note:{position:e[c-2].trim(),text:e[c].trim()}};break;case 30:this.$=e[c].trim(),l.setAccTitle(this.$);break;case 31:case 32:this.$=e[c].trim(),l.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:e[c-1].trim(),classes:e[c].trim()};break;case 35:this.$={stmt:"applyClass",id:e[c-1].trim(),styleClass:e[c].trim()};break;case 38:l.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:l.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:l.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:l.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:e[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 50:l.parseDirective("%%{","open_directive");break;case 51:l.parseDirective(e[c],"type_directive");break;case 52:e[c]=e[c].trim().replace(/'/g,'"'),l.parseDirective(e[c],"arg_directive");break;case 53:l.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:s,5:n,6:4,7:h,45:6,60:u},{1:[3]},{3:8,4:s,5:n,6:4,7:h,45:6,60:u},{3:9,4:s,5:n,6:4,7:h,45:6,60:u},{3:10,4:s,5:n,6:4,7:h,45:6,60:u},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],f,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},{47:43,48:[1,44],63:Ct},t([48,63],[2,51]),t(o,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),t(o,[2,12],{14:[1,47],15:[1,48]}),t(o,[2,16]),{18:[1,49]},t(o,[2,18],{20:[1,50]}),{23:[1,51]},t(o,[2,22]),t(o,[2,23]),t(o,[2,24]),t(o,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(o,[2,28]),t(o,[2,29]),{34:[1,56]},{36:[1,57]},t(o,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(st,[2,44],{57:[1,61]}),t(st,[2,45],{57:[1,62]}),t(o,[2,38]),t(o,[2,39]),t(o,[2,40]),t(o,[2,41]),t(ut,[2,36]),{49:63,62:[1,64]},t(ut,[2,53]),t(o,[2,7]),t(o,[2,13]),{13:65,24:R,56:w},t(o,[2,17]),t(At,f,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(o,[2,30]),t(o,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:Ct},{63:[2,52]},t(o,[2,14],{14:[1,76]}),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,77],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(o,[2,33]),t(o,[2,34]),t(o,[2,35]),t(st,[2,46]),t(st,[2,47]),t(ut,[2,37]),t(o,[2,15]),t(o,[2,19]),t(At,f,{8:81}),t(o,[2,26]),t(o,[2,27]),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,82],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=a,i}},parse:function(r){var a=this,i=[0],l=[],y=[null],e=[],B=this.table,c="",C=0,O=0,it=2,$=1,pt=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(A.yy[yt]=this.yy[yt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var St=S.yylloc;e.push(St);var zt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var E;return E=l.pop()||S.lex()||$,typeof E!="number"&&(E instanceof Array&&(l=E,E=l.pop()),E=a.symbols_[E]||E),E}for(var _,L,m,gt,N={},rt,b,Lt,nt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=Mt()),m=B[L]&&B[L][_]),typeof m>"u"||!m.length||!m[0]){var _t="";nt=[];for(rt in B[L])this.terminals_[rt]&&rt>it&&nt.push("'"+this.terminals_[rt]+"'");S.showPosition?_t="Parse error on line "+(C+1)+`: +import{c as Y,g as Ht,s as Xt,a as Kt,b as Wt,x as Jt,y as qt,e as Qt,l as v,n as ht,A as Zt,aB as te}from"./mermaid.core.bd97f718.js";var mt=function(){var t=function(D,r,a,i){for(a=a||{},i=D.length;i--;a[D[i]]=r);return a},s=[1,2],n=[1,3],h=[1,5],u=[1,7],f=[2,5],p=[1,15],x=[1,17],d=[1,21],k=[1,22],T=[1,23],G=[1,24],R=[1,37],j=[1,25],U=[1,26],z=[1,27],M=[1,28],H=[1,29],X=[1,32],K=[1,33],W=[1,34],J=[1,35],q=[1,36],Q=[1,39],Z=[1,40],tt=[1,41],et=[1,42],w=[1,38],Ct=[1,45],o=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],st=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],ut=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],dt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(r,a,i,l,y,e,B){var c=e.length-1;switch(y){case 4:return l.setRootDoc(e[c]),e[c];case 5:this.$=[];break;case 6:e[c]!="nl"&&(e[c-1].push(e[c]),this.$=e[c-1]);break;case 7:case 8:this.$=e[c];break;case 9:this.$="nl";break;case 12:this.$=e[c];break;case 13:const $=e[c-1];$.description=l.trimColon(e[c]),this.$=$;break;case 14:this.$={stmt:"relation",state1:e[c-2],state2:e[c]};break;case 15:const pt=l.trimColon(e[c]);this.$={stmt:"relation",state1:e[c-3],state2:e[c-1],description:pt};break;case 19:this.$={stmt:"state",id:e[c-3],type:"default",description:"",doc:e[c-1]};break;case 20:var C=e[c],O=e[c-2].trim();if(e[c].match(":")){var it=e[c].split(":");C=it[0],O=[O,it[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 21:this.$={stmt:"state",id:e[c-3],type:"default",description:e[c-5],doc:e[c-1]};break;case 22:this.$={stmt:"state",id:e[c],type:"fork"};break;case 23:this.$={stmt:"state",id:e[c],type:"join"};break;case 24:this.$={stmt:"state",id:e[c],type:"choice"};break;case 25:this.$={stmt:"state",id:l.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:e[c-1].trim(),note:{position:e[c-2].trim(),text:e[c].trim()}};break;case 30:this.$=e[c].trim(),l.setAccTitle(this.$);break;case 31:case 32:this.$=e[c].trim(),l.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:e[c-1].trim(),classes:e[c].trim()};break;case 35:this.$={stmt:"applyClass",id:e[c-1].trim(),styleClass:e[c].trim()};break;case 38:l.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:l.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:l.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:l.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:e[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:e[c-2].trim(),classes:[e[c].trim()],type:"default",description:""};break;case 50:l.parseDirective("%%{","open_directive");break;case 51:l.parseDirective(e[c],"type_directive");break;case 52:e[c]=e[c].trim().replace(/'/g,'"'),l.parseDirective(e[c],"arg_directive");break;case 53:l.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:s,5:n,6:4,7:h,45:6,60:u},{1:[3]},{3:8,4:s,5:n,6:4,7:h,45:6,60:u},{3:9,4:s,5:n,6:4,7:h,45:6,60:u},{3:10,4:s,5:n,6:4,7:h,45:6,60:u},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],f,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},{47:43,48:[1,44],63:Ct},t([48,63],[2,51]),t(o,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:k,19:T,22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,8]),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),t(o,[2,12],{14:[1,47],15:[1,48]}),t(o,[2,16]),{18:[1,49]},t(o,[2,18],{20:[1,50]}),{23:[1,51]},t(o,[2,22]),t(o,[2,23]),t(o,[2,24]),t(o,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(o,[2,28]),t(o,[2,29]),{34:[1,56]},{36:[1,57]},t(o,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(st,[2,44],{57:[1,61]}),t(st,[2,45],{57:[1,62]}),t(o,[2,38]),t(o,[2,39]),t(o,[2,40]),t(o,[2,41]),t(ut,[2,36]),{49:63,62:[1,64]},t(ut,[2,53]),t(o,[2,7]),t(o,[2,13]),{13:65,24:R,56:w},t(o,[2,17]),t(At,f,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(o,[2,30]),t(o,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:Ct},{63:[2,52]},t(o,[2,14],{14:[1,76]}),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,77],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(o,[2,33]),t(o,[2,34]),t(o,[2,35]),t(st,[2,46]),t(st,[2,47]),t(ut,[2,37]),t(o,[2,15]),t(o,[2,19]),t(At,f,{8:81}),t(o,[2,26]),t(o,[2,27]),{4:p,5:x,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:k,19:T,21:[1,82],22:G,24:R,25:j,26:U,27:z,28:M,29:H,32:31,33:X,35:K,37:W,38:J,42:q,45:6,50:Q,51:Z,52:tt,53:et,56:w,60:u},t(o,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=a,i}},parse:function(r){var a=this,i=[0],l=[],y=[null],e=[],B=this.table,c="",C=0,O=0,it=2,$=1,pt=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(A.yy[yt]=this.yy[yt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var St=S.yylloc;e.push(St);var zt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var E;return E=l.pop()||S.lex()||$,typeof E!="number"&&(E instanceof Array&&(l=E,E=l.pop()),E=a.symbols_[E]||E),E}for(var _,L,m,gt,N={},rt,b,Lt,nt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=Mt()),m=B[L]&&B[L][_]),typeof m>"u"||!m.length||!m[0]){var _t="";nt=[];for(rt in B[L])this.terminals_[rt]&&rt>it&&nt.push("'"+this.terminals_[rt]+"'");S.showPosition?_t="Parse error on line "+(C+1)+`: `+S.showPosition()+` Expecting `+nt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":_t="Parse error on line "+(C+1)+": Unexpected "+(_==$?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(_t,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:St,expected:nt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),y.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,c=S.yytext,C=S.yylineno,St=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=y[y.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},zt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),gt=this.performAction.apply(N,[c,O,C,A.yy,m[1],y,e].concat(pt)),typeof gt<"u")return gt;b&&(i=i.slice(0,-1*b*2),y=y.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),y.push(N.$),e.push(N._$),Lt=B[i[i.length-2]][i[i.length-1]],i.push(Lt);break;case 3:return!0}}return!0}},Ut=function(){var D={EOF:1,parseError:function(a,i){if(this.yy.parser)this.yy.parser.parseError(a,i);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===l.length?this.yylloc.first_column:0)+l[l.length-i.length].length-i[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/svgDraw-2526cba0.08c6d93d.js b/_nuxt/svgDraw-2526cba0.1cdd2cec.js similarity index 98% rename from _nuxt/svgDraw-2526cba0.08c6d93d.js rename to _nuxt/svgDraw-2526cba0.1cdd2cec.js index 637c7ec261..7334283520 100644 --- a/_nuxt/svgDraw-2526cba0.08c6d93d.js +++ b/_nuxt/svgDraw-2526cba0.1cdd2cec.js @@ -1,2 +1,2 @@ -import{a3 as C,z as E,l as b,a4 as w}from"./mermaid.core.6d8597df.js";import{l as k}from"./line.dc626553.js";let S=0;const O=function(i,e,t,n,r){const a=function(o){switch(o){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(o=>!Number.isNaN(o.y));const l=e.points,d=k().x(function(o){return o.x}).y(function(o){return o.y}).curve(C),s=i.append("path").attr("d",d(l)).attr("id","edge"+S).attr("class","relation");let g="";n.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),t.relation.lineType==1&&s.attr("class","relation dashed-line"),t.relation.lineType==10&&s.attr("class","relation dotted-line"),t.relation.type1!=="none"&&s.attr("marker-start","url("+g+"#"+a(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&s.attr("marker-end","url("+g+"#"+a(t.relation.type2)+"End)");let f,c;const p=e.points.length;let v=E.calcLabelPosition(e.points);f=v.x,c=v.y;let x,B,N,m;if(p%2!==0&&p>1){let o=E.calcCardinalityPosition(t.relation.type1!=="none",e.points,e.points[0]),u=E.calcCardinalityPosition(t.relation.type2!=="none",e.points,e.points[p-1]);b.debug("cardinality_1_point "+JSON.stringify(o)),b.debug("cardinality_2_point "+JSON.stringify(u)),x=o.x,B=o.y,N=u.x,m=u.y}if(t.title!==void 0){const o=i.append("g").attr("class","classLabel"),u=o.append("text").attr("class","label").attr("x",f).attr("y",c).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=u;const h=u.node().getBBox();o.insert("rect",":first-child").attr("class","box").attr("x",h.x-n.padding/2).attr("y",h.y-n.padding/2).attr("width",h.width+n.padding).attr("height",h.height+n.padding)}b.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",x).attr("y",B).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",N).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle2),S++},P=function(i,e,t,n){b.debug("Rendering class ",e,t);const r=e.id,a={id:r,label:e.id,width:0,height:0},l=i.append("g").attr("id",n.db.lookUpDomId(r)).attr("class","classGroup");let d;e.link?d=l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let s=!0;e.annotations.forEach(function(y){const H=d.append("tspan").text("«"+y+"»");s||H.attr("dy",t.textHeight),s=!1});let g=e.id;e.type!==void 0&&e.type!==""&&(g+="<"+e.type+">");const f=d.append("tspan").text(g).attr("class","title");s||f.attr("dy",t.textHeight);const c=d.node().getBBox().height,p=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin/2).attr("y2",t.padding+c+t.dividerMargin/2),v=l.append("text").attr("x",t.padding).attr("y",c+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach(function(y){_(v,y,s,t),s=!1});const x=v.node().getBBox(),B=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin+x.height).attr("y2",t.padding+c+t.dividerMargin+x.height),N=l.append("text").attr("x",t.padding).attr("y",c+2*t.dividerMargin+x.height+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach(function(y){_(N,y,s,t),s=!1});const m=l.node().getBBox();var o=" ";e.cssClasses.length>0&&(o=o+e.cssClasses.join(" "));const h=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",o).node().getBBox().width;return d.node().childNodes.forEach(function(y){y.setAttribute("x",(h-y.getBBox().width)/2)}),e.tooltip&&d.insert("title").text(e.tooltip),p.attr("x2",h),B.attr("x2",h),a.width=h,a.height=m.height+t.padding+.5*t.dividerMargin,a},I=function(i,e,t,n){b.debug("Rendering note ",e,t);const r=e.id,a={id:r,text:e.text,width:0,height:0},l=i.append("g").attr("id",r).attr("class","classGroup");let d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const s=JSON.parse(`"${e.text}"`).split(` +import{a3 as C,z as E,l as b,a4 as w}from"./mermaid.core.bd97f718.js";import{l as k}from"./line.2cebc606.js";let S=0;const O=function(i,e,t,n,r){const a=function(o){switch(o){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(o=>!Number.isNaN(o.y));const l=e.points,d=k().x(function(o){return o.x}).y(function(o){return o.y}).curve(C),s=i.append("path").attr("d",d(l)).attr("id","edge"+S).attr("class","relation");let g="";n.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),t.relation.lineType==1&&s.attr("class","relation dashed-line"),t.relation.lineType==10&&s.attr("class","relation dotted-line"),t.relation.type1!=="none"&&s.attr("marker-start","url("+g+"#"+a(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&s.attr("marker-end","url("+g+"#"+a(t.relation.type2)+"End)");let f,c;const p=e.points.length;let v=E.calcLabelPosition(e.points);f=v.x,c=v.y;let x,B,N,m;if(p%2!==0&&p>1){let o=E.calcCardinalityPosition(t.relation.type1!=="none",e.points,e.points[0]),u=E.calcCardinalityPosition(t.relation.type2!=="none",e.points,e.points[p-1]);b.debug("cardinality_1_point "+JSON.stringify(o)),b.debug("cardinality_2_point "+JSON.stringify(u)),x=o.x,B=o.y,N=u.x,m=u.y}if(t.title!==void 0){const o=i.append("g").attr("class","classLabel"),u=o.append("text").attr("class","label").attr("x",f).attr("y",c).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=u;const h=u.node().getBBox();o.insert("rect",":first-child").attr("class","box").attr("x",h.x-n.padding/2).attr("y",h.y-n.padding/2).attr("width",h.width+n.padding).attr("height",h.height+n.padding)}b.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",x).attr("y",B).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",N).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle2),S++},P=function(i,e,t,n){b.debug("Rendering class ",e,t);const r=e.id,a={id:r,label:e.id,width:0,height:0},l=i.append("g").attr("id",n.db.lookUpDomId(r)).attr("class","classGroup");let d;e.link?d=l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let s=!0;e.annotations.forEach(function(y){const H=d.append("tspan").text("«"+y+"»");s||H.attr("dy",t.textHeight),s=!1});let g=e.id;e.type!==void 0&&e.type!==""&&(g+="<"+e.type+">");const f=d.append("tspan").text(g).attr("class","title");s||f.attr("dy",t.textHeight);const c=d.node().getBBox().height,p=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin/2).attr("y2",t.padding+c+t.dividerMargin/2),v=l.append("text").attr("x",t.padding).attr("y",c+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach(function(y){_(v,y,s,t),s=!1});const x=v.node().getBBox(),B=l.append("line").attr("x1",0).attr("y1",t.padding+c+t.dividerMargin+x.height).attr("y2",t.padding+c+t.dividerMargin+x.height),N=l.append("text").attr("x",t.padding).attr("y",c+2*t.dividerMargin+x.height+t.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach(function(y){_(N,y,s,t),s=!1});const m=l.node().getBBox();var o=" ";e.cssClasses.length>0&&(o=o+e.cssClasses.join(" "));const h=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",o).node().getBBox().width;return d.node().childNodes.forEach(function(y){y.setAttribute("x",(h-y.getBBox().width)/2)}),e.tooltip&&d.insert("title").text(e.tooltip),p.attr("x2",h),B.attr("x2",h),a.width=h,a.height=m.height+t.padding+.5*t.dividerMargin,a},I=function(i,e,t,n){b.debug("Rendering note ",e,t);const r=e.id,a={id:r,text:e.text,width:0,height:0},l=i.append("g").attr("id",r).attr("class","classGroup");let d=l.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const s=JSON.parse(`"${e.text}"`).split(` `);s.forEach(function(p){b.debug(`Adding line: ${p}`),d.append("tspan").text(p).attr("class","title").attr("dy",t.textHeight)});const g=l.node().getBBox(),c=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",g.width+2*t.padding).attr("height",g.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return d.node().childNodes.forEach(function(p){p.setAttribute("x",(c-p.getBBox().width)/2)}),a.width=c,a.height=g.height+s.length*t.textHeight+t.padding+.5*t.dividerMargin,a},T=function(i){const e=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,t=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let n=i.match(e),r=i.match(t);return n&&!r?L(n):r?R(r):$(i)},L=function(i){let e="",t="";try{let n=i[1]?i[1].trim():"",r=i[2]?i[2].trim():"",a=i[3]?w(i[3].trim()):"",l=i[4]?i[4].trim():"",d=i[5]?i[5].trim():"";t=n+r+a+" "+l,e=M(d)}catch{t=i}return{displayText:t,cssStyle:e}},R=function(i){let e="",t="";try{let n=i[1]?i[1].trim():"",r=i[2]?i[2].trim():"",a=i[3]?w(i[3].trim()):"",l=i[4]?i[4].trim():"",d=i[5]?" : "+w(i[5]).trim():"";t=n+r+"("+a+")"+d,e=M(l)}catch{t=i}return{displayText:t,cssStyle:e}},$=function(i){let e="",t="",n="",r=i.indexOf("("),a=i.indexOf(")");if(r>1&&a>r&&a<=i.length){let l="",d="",s=i.substring(0,1);s.match(/\w/)?d=i.substring(0,r).trim():(s.match(/[#+~-]/)&&(l=s),d=i.substring(1,r).trim());const g=i.substring(r+1,a);i.substring(a+1,1),t=M(i.substring(a+1,a+2)),e=l+d+"("+w(g.trim())+")",a"u"&&(p.yylloc={});var C=p.yylloc;c.push(C);var z=p.options&&p.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var P;return P=u.pop()||p.lex()||K,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=a.symbols_[P]||P),P}for(var k,R,N,Q,W={},G,A,nt,q;;){if(R=h[h.length-1],this.defaultActions[R]?N=this.defaultActions[R]:((k===null||typeof k>"u")&&(k=et()),N=T[R]&&T[R][k]),typeof N>"u"||!N.length||!N[0]){var X="";q=[];for(G in T[R])this.terminals_[G]&&G>j&&q.push("'"+this.terminals_[G]+"'");p.showPosition?X="Parse error on line "+(M+1)+`: +import{aC as bt,aD as vt,A as kt,c as wt,l as I,i as U,u as St,aE as Et,aF as Tt}from"./mermaid.core.bd97f718.js";import{i as It}from"./is_dark.0e136d46.js";import{a as it}from"./arc.16fae886.js";import"./_commonjsHelpers.725317a4.js";import"./entry.363473ce.js";import"./path.53f90ab3.js";var Y=function(){var n=function(b,r,a,h){for(a=a||{},h=b.length;h--;a[b[h]]=r);return a},t=[1,2],e=[1,5],s=[6,9,11,17,18,20,22,23,26,27,28],i=[1,15],o=[1,16],l=[1,17],g=[1,18],d=[1,19],y=[1,23],x=[1,24],w=[1,27],v=[4,6,9,11,17,18,20,22,23,26,27,28],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,period_statement:24,event_statement:25,period:26,event:27,open_directive:28,type_directive:29,arg_directive:30,close_directive:31,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",26:"period",27:"event",28:"open_directive",29:"type_directive",30:"arg_directive",31:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[24,1],[25,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(r,a,h,u,f,c,T){var m=c.length-1;switch(f){case 1:return c[m-1];case 3:this.$=[];break;case 4:c[m-1].push(c[m]),this.$=c[m-1];break;case 5:case 6:this.$=c[m];break;case 7:case 8:this.$=[];break;case 11:u.getCommonDb().setDiagramTitle(c[m].substr(6)),this.$=c[m].substr(6);break;case 12:this.$=c[m].trim(),u.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=c[m].trim(),u.getCommonDb().setAccDescription(this.$);break;case 15:u.addSection(c[m].substr(8)),this.$=c[m].substr(8);break;case 19:u.addTask(c[m],0,""),this.$=c[m];break;case 20:u.addEvent(c[m].substr(2)),this.$=c[m];break;case 21:u.parseDirective("%%{","open_directive");break;case 22:u.parseDirective(c[m],"type_directive");break;case 23:c[m]=c[m].trim().replace(/'/g,'"'),u.parseDirective(c[m],"arg_directive");break;case 24:u.parseDirective("}%%","close_directive","timeline");break}},table:[{3:1,4:t,7:3,12:4,28:e},{1:[3]},n(s,[2,3],{5:6}),{3:7,4:t,7:3,12:4,28:e},{13:8,29:[1,9]},{29:[2,21]},{6:[1,10],7:22,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:o,20:l,22:g,23:d,24:20,25:21,26:y,27:x,28:e},{1:[2,2]},{14:25,15:[1,26],31:w},n([15,31],[2,22]),n(s,[2,8],{1:[2,1]}),n(s,[2,4]),{7:22,10:28,12:4,17:i,18:o,20:l,22:g,23:d,24:20,25:21,26:y,27:x,28:e},n(s,[2,6]),n(s,[2,7]),n(s,[2,11]),{19:[1,29]},{21:[1,30]},n(s,[2,14]),n(s,[2,15]),n(s,[2,16]),n(s,[2,17]),n(s,[2,18]),n(s,[2,19]),n(s,[2,20]),{11:[1,31]},{16:32,30:[1,33]},{11:[2,24]},n(s,[2,5]),n(s,[2,12]),n(s,[2,13]),n(v,[2,9]),{14:34,31:w},{31:[2,23]},{11:[1,35]},n(v,[2,10])],defaultActions:{5:[2,21],7:[2,2],27:[2,24],33:[2,23]},parseError:function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},parse:function(r){var a=this,h=[0],u=[],f=[null],c=[],T=this.table,m="",M=0,V=0,j=2,K=1,H=c.slice.call(arguments,1),p=Object.create(this.lexer),E={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(E.yy[L]=this.yy[L]);p.setInput(r,E.yy),E.yy.lexer=p,E.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var C=p.yylloc;c.push(C);var z=p.options&&p.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var P;return P=u.pop()||p.lex()||K,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=a.symbols_[P]||P),P}for(var k,R,N,Q,W={},G,A,nt,q;;){if(R=h[h.length-1],this.defaultActions[R]?N=this.defaultActions[R]:((k===null||typeof k>"u")&&(k=et()),N=T[R]&&T[R][k]),typeof N>"u"||!N.length||!N[0]){var X="";q=[];for(G in T[R])this.terminals_[G]&&G>j&&q.push("'"+this.terminals_[G]+"'");p.showPosition?X="Parse error on line "+(M+1)+`: `+p.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[k]||k)+"'":X="Parse error on line "+(M+1)+": Unexpected "+(k==K?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(X,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:C,expected:q})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+k);switch(N[0]){case 1:h.push(k),f.push(p.yytext),c.push(p.yylloc),h.push(N[1]),k=null,V=p.yyleng,m=p.yytext,M=p.yylineno,C=p.yylloc;break;case 2:if(A=this.productions_[N[1]][1],W.$=f[f.length-A],W._$={first_line:c[c.length-(A||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(A||1)].first_column,last_column:c[c.length-1].last_column},z&&(W._$.range=[c[c.length-(A||1)].range[0],c[c.length-1].range[1]]),Q=this.performAction.apply(W,[m,V,M,E.yy,N[1],f,c].concat(H)),typeof Q<"u")return Q;A&&(h=h.slice(0,-1*A*2),f=f.slice(0,-1*A),c=c.slice(0,-1*A)),h.push(this.productions_[N[1]][0]),f.push(W.$),c.push(W._$),nt=T[h[h.length-2]][h[h.length-1]],h.push(nt);break;case 3:return!0}}return!0}},S=function(){var b={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var a=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===u.length?this.yylloc.first_column:0)+u[u.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/useStudio.810b15ce.js b/_nuxt/useStudio.f0112abf.js similarity index 99% rename from _nuxt/useStudio.810b15ce.js rename to _nuxt/useStudio.f0112abf.js index db13259e01..c13b97c88e 100644 --- a/_nuxt/useStudio.810b15ce.js +++ b/_nuxt/useStudio.f0112abf.js @@ -1 +1 @@ -import{d as Y,u as V,r as $,o as j,_ as ee,a as te,b as q,c as L,n as ne,F as oe,e as w,f as K,g as O,w as J,T as B,t as ie,h as D,p as se,i as ae,j as W,k as re,l as de,m as z,q as ce,s as U,v as E,x as Z,y as H,z as le,A as ue,B as pe,C as fe,D as F}from"./entry.8cfa8efb.js";const A=i=>(se("data-v-f74290fc"),i=i(),ae(),i),ve=A(()=>w("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),we=A(()=>w("span",null,"Preview mode enabled",-1)),_e={key:0},he=A(()=>w("div",{id:"__preview_background"},null,-1)),ye=A(()=>w("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),me=A(()=>w("p",null,"Initializing the preview...",-1)),ge={key:0},ke=A(()=>w("div",{id:"__preview_background"},null,-1)),Ce={id:"__preview_loader"},Ie=Y({__name:"ContentPreviewMode",props:{previewToken:{type:String,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(i){const s=i,c=["__nuxt_preview","__preview_enabled"],f=W(),y=V(),r=$(!0),g=$(!1),o=$(!1),l=$("");let a;const h=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const _=await s.syncPreview(T);if(o.value!==!0){if(!_){setTimeout(()=>b(T),1e3);return}D("previewToken").value&&(o.value=!0,await y.replace({query:{}}),f.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&a.disconnect())}};return j(async()=>{a=(await ee(()=>import("./index.17e44084.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let _;a.on("connect",()=>{_=setTimeout(()=>{o.value||(_=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{_&&(clearTimeout(_),_=null)};a.on("draft:sync",async P=>{if(I(),!P){try{a.once("draft:ready",()=>{a.emit("draft:requestSync")}),await s.requestPreviewSyncAPI()}catch(R){switch(I(),R.response.status){case 404:l.value="Preview draft not found",o.value=!1;break;default:l.value="An error occurred while syncing preview",o.value=!1}}return}b(P)}),a.on("draft:unauthorized",()=>{I(),l.value="Unauthorized preview token",o.value=!1}),a.on("disconnect",()=>{I()}),document.body.classList.add(...c),a.on("draft:update",P=>{g.value=!0,s.syncPreview(P),g.value=!1})}),te(()=>{document.body.classList.remove(...c)}),(T,_)=>(q(),L("div",null,[r.value?(q(),L("div",{key:0,id:"__nuxt_preview",class:ne({__preview_ready:o.value,__preview_refreshing:g.value})},[o.value?(q(),L(oe,{key:0},[ve,we,w("button",{onClick:h}," Close ")],64)):K("",!0)],2)):K("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",_e,[he,w("div",{id:"__preview_loader"},[ye,me,w("button",{onClick:h}," Cancel ")])])):K("",!0)]),_:1}),O(B,{name:"preview-loading"},{default:J(()=>[l.value?(q(),L("div",ge,[ke,w("div",Ce,[w("p",null,ie(l.value),1),w("button",{onClick:h}," Exit preview ")])])):K("",!0)]),_:1})]))}});const Pe=re(Ie,[["__scopeId","data-v-f74290fc"]]),Se=(i=[],s,c)=>{const f=[...s||[]],y=[...c||[]],r=JSON.parse(JSON.stringify(i));for(const o of f)if(o.oldPath)if(y.splice(y.findIndex(a=>a.path===o.oldPath),1),f.find(a=>a.path===o.oldPath))r.push({path:o.path,parsed:o.parsed});else{const a=r.find(h=>h.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(h=>{a.parsed[h]=o.pathMeta[h]}))}else if(o.new)r.push({path:o.path,parsed:o.parsed});else{const l=r.find(a=>a.path===o.path);l&&Object.assign(l,{path:o.path,parsed:o.parsed})}for(const o of y)r.splice(r.findIndex(l=>l.path===o.path),1);const g=new Intl.Collator(void 0,{numeric:!0});return r.sort((o,l)=>g.compare(o.path,l.path)),r},C={appConfig:"app.config.ts",tokensConfig:"tokens.config.ts"},Te=i=>{let s;return(...c)=>(s||(s=i()),s)};function G(i,s){for(const c in i){const f=s[c];c in s||delete i[c],f!==null&&typeof f=="object"&&G(i[c],s[c])}}function Q(i,s){for(const c in s){const f=s[c];f!==null&&typeof f=="object"?(i[c]=i[c]||{},Q(i[c],f)):i[c]=f}}const xe=Te(()=>JSON.parse(JSON.stringify(Z()))),qe=()=>{const i=W(),{studio:s,content:c}=de().public,f=xe();let y;const r=z("studio-client-db",()=>null),g=z("studio-preview-db-files",()=>[]);r.value||(i.hook("content:storage",e=>{r.value=e}),ce("/non-existing-path").findOne());const o=async(e,n,d=!0)=>{const p=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${p}:`);await Promise.all(v.map(u=>e.removeItem(u)));const t=new Set(n.map(u=>u.parsed._id.split(":").shift()));await e.setItem(`${p}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(u=>e.setItem(`${p}:${u.parsed._id}`,JSON.stringify(u.parsed))))},l=e=>{const n=E(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,p,v,t;const n=(t=(v=(p=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:p.config)==null?void 0:v.globalProperties)==null?void 0:t.$pinceauTheme;!n||!(n!=null&&n.updateTheme)||(y||(y=JSON.parse(JSON.stringify((n==null?void 0:n.theme.value)||{}))),E(i,n.updateTheme,[H(e,y)]))},h=async e=>{if(g.value=e.files=e.files||g.value||[],!r.value)return!1;const n=Se(e.files,e.additions,e.deletions),d=n.filter(t=>![C.appConfig,C.tokensConfig].includes(t.path));await o(r.value,d,(e.files||[]).length!==0);const p=n.find(t=>t.path===C.appConfig);l(p==null?void 0:p.parsed);const v=n.find(t=>t.path===C.tokensConfig);return a(v==null?void 0:v.parsed),R(),!0},b=async()=>{const e=window.sessionStorage.getItem("previewToken");await $fetch("api/projects/preview/sync",{baseURL:s==null?void 0:s.apiURL,method:"POST",params:{token:e}})},T=()=>{const e=window.sessionStorage.getItem("previewToken"),n=document.createElement("div");n.id="__nuxt_preview_wrapper",document.body.appendChild(n),le(Pe,{previewToken:e,apiURL:s==null?void 0:s.apiURL,syncPreview:h,requestPreviewSyncAPI:b}).mount(n)},_=async e=>{var p,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((p=r.value)==null?void 0:p.getItem(`${n}:${e}`));return d||(d=await((v=r.value)==null?void 0:v.getItem(`cached:${e}`))),d||(d=d=await((t=r.value)==null?void 0:t.getItem(e))),d},I=e=>{var d;const n=window.sessionStorage.getItem("previewToken");r.value&&r.value.setItem(`${n}:${(d=e.parsed)==null?void 0:d._id}`,JSON.stringify(e.parsed))},P=async e=>{var d;const n=window.sessionStorage.getItem("previewToken");await((d=r.value)==null?void 0:d.removeItem(`${n}:${e}`))},R=async()=>{if(c!=null&&c.documentDriven){const{pages:e}=E(i,ue);for(const n in e.value)e.value[n]&&(e.value[n]=await _(e.value[n]._id))}pe(()=>{E(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:_,updateContent:I,removeContentWithId:P,requestRerender:R,mountPreviewUI:T,initiateIframeCommunication:X};function X(){if(!window.parent||window.self===window.parent)return;const e=V(),n=U(),d=$(""),p=t=>({path:t.path,query:F(t.query),params:F(t.params),fullPath:t.fullPath,meta:F(t.meta)});window.addEventListener("keydown",t=>{(t.metaKey||t.ctrlKey||t.altKey||t.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:t.key,metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},"*")}),window.addEventListener("message",async t=>{if(!["https://nuxt.studio","https://dev.nuxt.studio"].includes(t.origin))return;const{type:u,payload:x={}}=t.data||{};switch(u){case"nuxt-studio:editor:file-selected":{const m=await _(x.path);m&&(m._partial||m._path!==U().path&&(d.value=m._path,e.push(m._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:m=[],deletions:N=[]}=x;for(const k of m)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{h(x);break}case"nuxt-studio:config:file-changed":{const{additions:m=[],deletions:N=[]}=x,k=m.find(S=>S.path===C.appConfig);k&&l(k==null?void 0:k.parsed),N.find(S=>S.path===C.appConfig)&&l(void 0);const M=m.find(S=>S.path===C.tokensConfig);M&&a(M==null?void 0:M.parsed),N.find(S=>S.path===C.tokensConfig)&&a(void 0);break}}}),i.hook("page:finish",()=>{v()}),i.hook("content:document-driven:finish",({route:t,page:u})=>{t.meta.studio_page_contentId=u==null?void 0:u._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:p(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),u=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===u[0]){d.value="";return}window.openContentInStudioEditor(u,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,u={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...p(n),contentIds:t,...u}},"*")}}};export{qe as useStudio}; +import{d as Y,u as V,r as $,o as j,_ as ee,a as te,b as q,c as L,n as ne,F as oe,e as w,f as K,g as O,w as J,T as B,t as ie,h as D,p as se,i as ae,j as W,k as re,l as de,m as z,q as ce,s as U,v as E,x as Z,y as H,z as le,A as ue,B as pe,C as fe,D as F}from"./entry.363473ce.js";const A=i=>(se("data-v-f74290fc"),i=i(),ae(),i),ve=A(()=>w("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),we=A(()=>w("span",null,"Preview mode enabled",-1)),_e={key:0},he=A(()=>w("div",{id:"__preview_background"},null,-1)),ye=A(()=>w("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),me=A(()=>w("p",null,"Initializing the preview...",-1)),ge={key:0},ke=A(()=>w("div",{id:"__preview_background"},null,-1)),Ce={id:"__preview_loader"},Ie=Y({__name:"ContentPreviewMode",props:{previewToken:{type:String,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(i){const s=i,c=["__nuxt_preview","__preview_enabled"],f=W(),y=V(),r=$(!0),g=$(!1),o=$(!1),l=$("");let a;const h=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const _=await s.syncPreview(T);if(o.value!==!0){if(!_){setTimeout(()=>b(T),1e3);return}D("previewToken").value&&(o.value=!0,await y.replace({query:{}}),f.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&a.disconnect())}};return j(async()=>{a=(await ee(()=>import("./index.17e44084.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let _;a.on("connect",()=>{_=setTimeout(()=>{o.value||(_=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{_&&(clearTimeout(_),_=null)};a.on("draft:sync",async P=>{if(I(),!P){try{a.once("draft:ready",()=>{a.emit("draft:requestSync")}),await s.requestPreviewSyncAPI()}catch(R){switch(I(),R.response.status){case 404:l.value="Preview draft not found",o.value=!1;break;default:l.value="An error occurred while syncing preview",o.value=!1}}return}b(P)}),a.on("draft:unauthorized",()=>{I(),l.value="Unauthorized preview token",o.value=!1}),a.on("disconnect",()=>{I()}),document.body.classList.add(...c),a.on("draft:update",P=>{g.value=!0,s.syncPreview(P),g.value=!1})}),te(()=>{document.body.classList.remove(...c)}),(T,_)=>(q(),L("div",null,[r.value?(q(),L("div",{key:0,id:"__nuxt_preview",class:ne({__preview_ready:o.value,__preview_refreshing:g.value})},[o.value?(q(),L(oe,{key:0},[ve,we,w("button",{onClick:h}," Close ")],64)):K("",!0)],2)):K("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",_e,[he,w("div",{id:"__preview_loader"},[ye,me,w("button",{onClick:h}," Cancel ")])])):K("",!0)]),_:1}),O(B,{name:"preview-loading"},{default:J(()=>[l.value?(q(),L("div",ge,[ke,w("div",Ce,[w("p",null,ie(l.value),1),w("button",{onClick:h}," Exit preview ")])])):K("",!0)]),_:1})]))}});const Pe=re(Ie,[["__scopeId","data-v-f74290fc"]]),Se=(i=[],s,c)=>{const f=[...s||[]],y=[...c||[]],r=JSON.parse(JSON.stringify(i));for(const o of f)if(o.oldPath)if(y.splice(y.findIndex(a=>a.path===o.oldPath),1),f.find(a=>a.path===o.oldPath))r.push({path:o.path,parsed:o.parsed});else{const a=r.find(h=>h.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(h=>{a.parsed[h]=o.pathMeta[h]}))}else if(o.new)r.push({path:o.path,parsed:o.parsed});else{const l=r.find(a=>a.path===o.path);l&&Object.assign(l,{path:o.path,parsed:o.parsed})}for(const o of y)r.splice(r.findIndex(l=>l.path===o.path),1);const g=new Intl.Collator(void 0,{numeric:!0});return r.sort((o,l)=>g.compare(o.path,l.path)),r},C={appConfig:"app.config.ts",tokensConfig:"tokens.config.ts"},Te=i=>{let s;return(...c)=>(s||(s=i()),s)};function G(i,s){for(const c in i){const f=s[c];c in s||delete i[c],f!==null&&typeof f=="object"&&G(i[c],s[c])}}function Q(i,s){for(const c in s){const f=s[c];f!==null&&typeof f=="object"?(i[c]=i[c]||{},Q(i[c],f)):i[c]=f}}const xe=Te(()=>JSON.parse(JSON.stringify(Z()))),qe=()=>{const i=W(),{studio:s,content:c}=de().public,f=xe();let y;const r=z("studio-client-db",()=>null),g=z("studio-preview-db-files",()=>[]);r.value||(i.hook("content:storage",e=>{r.value=e}),ce("/non-existing-path").findOne());const o=async(e,n,d=!0)=>{const p=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${p}:`);await Promise.all(v.map(u=>e.removeItem(u)));const t=new Set(n.map(u=>u.parsed._id.split(":").shift()));await e.setItem(`${p}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(u=>e.setItem(`${p}:${u.parsed._id}`,JSON.stringify(u.parsed))))},l=e=>{const n=E(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,p,v,t;const n=(t=(v=(p=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:p.config)==null?void 0:v.globalProperties)==null?void 0:t.$pinceauTheme;!n||!(n!=null&&n.updateTheme)||(y||(y=JSON.parse(JSON.stringify((n==null?void 0:n.theme.value)||{}))),E(i,n.updateTheme,[H(e,y)]))},h=async e=>{if(g.value=e.files=e.files||g.value||[],!r.value)return!1;const n=Se(e.files,e.additions,e.deletions),d=n.filter(t=>![C.appConfig,C.tokensConfig].includes(t.path));await o(r.value,d,(e.files||[]).length!==0);const p=n.find(t=>t.path===C.appConfig);l(p==null?void 0:p.parsed);const v=n.find(t=>t.path===C.tokensConfig);return a(v==null?void 0:v.parsed),R(),!0},b=async()=>{const e=window.sessionStorage.getItem("previewToken");await $fetch("api/projects/preview/sync",{baseURL:s==null?void 0:s.apiURL,method:"POST",params:{token:e}})},T=()=>{const e=window.sessionStorage.getItem("previewToken"),n=document.createElement("div");n.id="__nuxt_preview_wrapper",document.body.appendChild(n),le(Pe,{previewToken:e,apiURL:s==null?void 0:s.apiURL,syncPreview:h,requestPreviewSyncAPI:b}).mount(n)},_=async e=>{var p,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((p=r.value)==null?void 0:p.getItem(`${n}:${e}`));return d||(d=await((v=r.value)==null?void 0:v.getItem(`cached:${e}`))),d||(d=d=await((t=r.value)==null?void 0:t.getItem(e))),d},I=e=>{var d;const n=window.sessionStorage.getItem("previewToken");r.value&&r.value.setItem(`${n}:${(d=e.parsed)==null?void 0:d._id}`,JSON.stringify(e.parsed))},P=async e=>{var d;const n=window.sessionStorage.getItem("previewToken");await((d=r.value)==null?void 0:d.removeItem(`${n}:${e}`))},R=async()=>{if(c!=null&&c.documentDriven){const{pages:e}=E(i,ue);for(const n in e.value)e.value[n]&&(e.value[n]=await _(e.value[n]._id))}pe(()=>{E(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:_,updateContent:I,removeContentWithId:P,requestRerender:R,mountPreviewUI:T,initiateIframeCommunication:X};function X(){if(!window.parent||window.self===window.parent)return;const e=V(),n=U(),d=$(""),p=t=>({path:t.path,query:F(t.query),params:F(t.params),fullPath:t.fullPath,meta:F(t.meta)});window.addEventListener("keydown",t=>{(t.metaKey||t.ctrlKey||t.altKey||t.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:t.key,metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},"*")}),window.addEventListener("message",async t=>{if(!["https://nuxt.studio","https://dev.nuxt.studio"].includes(t.origin))return;const{type:u,payload:x={}}=t.data||{};switch(u){case"nuxt-studio:editor:file-selected":{const m=await _(x.path);m&&(m._partial||m._path!==U().path&&(d.value=m._path,e.push(m._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:m=[],deletions:N=[]}=x;for(const k of m)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{h(x);break}case"nuxt-studio:config:file-changed":{const{additions:m=[],deletions:N=[]}=x,k=m.find(S=>S.path===C.appConfig);k&&l(k==null?void 0:k.parsed),N.find(S=>S.path===C.appConfig)&&l(void 0);const M=m.find(S=>S.path===C.tokensConfig);M&&a(M==null?void 0:M.parsed),N.find(S=>S.path===C.tokensConfig)&&a(void 0);break}}}),i.hook("page:finish",()=>{v()}),i.hook("content:document-driven:finish",({route:t,page:u})=>{t.meta.studio_page_contentId=u==null?void 0:u._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:p(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),u=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===u[0]){d.value="";return}window.openContentInStudioEditor(u,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,u={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...p(n),contentIds:t,...u}},"*")}}};export{qe as useStudio}; diff --git a/_payload.json b/_payload.json index 57076be243..9daa5fc718 100644 --- a/_payload.json +++ b/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498628825] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639637877] \ No newline at end of file diff --git a/advanced/customize-recaptcha-script-loading/_payload.json b/advanced/customize-recaptcha-script-loading/_payload.json index 11ad8fa387..4aafd0ae64 100644 --- a/advanced/customize-recaptcha-script-loading/_payload.json +++ b/advanced/customize-recaptcha-script-loading/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498635400] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643954] \ No newline at end of file diff --git a/advanced/customize-recaptcha-script-loading/index.html b/advanced/customize-recaptcha-script-loading/index.html index 0611bd781c..7bda66e27b 100644 --- a/advanced/customize-recaptcha-script-loading/index.html +++ b/advanced/customize-recaptcha-script-loading/index.html @@ -28,45 +28,45 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Customize reCAPTCHA script loading

By default vue-recaptcha will use unhead to load the reCAPTCHA script.

If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function.

import { onMounted } from 'vue'import { defineScriptLoader, toQueryString } from 'vue-recaptcha'// Define your own loadScript functionconst loadScript = defineScriptLoader((options) => {  // This function will be called by useRecaptchaProvider  return () => {    onMounted(() => {      // You can use any way to load the reCAPTCHA script      const script = document.createElement('script')      script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`      script.async = true      script.defer = true      if (options.nonce) {        script.nonce = options.nonce      }      document.head.append(script)    })  }})const plugin = createPlugin(loadScript)

The defineScriptLoader function and ScriptLoaderOptions

export interface RecaptchaParams {  // You must pass these two value as query string to reCAPTCHA  render: LiteralUnion<'explicit', string>  onload: string  // Below you can customize as you want  hl?: string | undefined  trustedtypes?: 'true' | undefined  [k: string]: string | undefined}export interface ScriptLoaderOptions {  /**   * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored   */  useRecaptchaNet?: boolean  /**   * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored   */  recaptchaApiURL: string  /**   * nonce for script tag   */  nonce?: string  /**   * params for recaptcha api   */  params: RecaptchaParams}/** *  Helper function for define your own loadScript function */function defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Customize reCAPTCHA script loading

By default vue-recaptcha will use unhead to load the reCAPTCHA script.

If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function.

import { onMounted } from 'vue'import { defineScriptLoader, toQueryString } from 'vue-recaptcha'// Define your own loadScript functionconst loadScript = defineScriptLoader((options) => {  // This function will be called by useRecaptchaProvider  return () => {    onMounted(() => {      // You can use any way to load the reCAPTCHA script      const script = document.createElement('script')      script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`      script.async = true      script.defer = true      if (options.nonce) {        script.nonce = options.nonce      }      document.head.append(script)    })  }})const plugin = createPlugin(loadScript)

The defineScriptLoader function and ScriptLoaderOptions

export interface RecaptchaParams {  // You must pass these two value as query string to reCAPTCHA  render: LiteralUnion<'explicit', string>  onload: string  // Below you can customize as you want  hl?: string | undefined  trustedtypes?: 'true' | undefined  [k: string]: string | undefined}export interface ScriptLoaderOptions {  /**   * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored   */  useRecaptchaNet?: boolean  /**   * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored   */  recaptchaApiURL: string  /**   * nonce for script tag   */  nonce?: string  /**   * params for recaptcha api   */  params: RecaptchaParams}/** *  Helper function for define your own loadScript function */function defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory
+ \ No newline at end of file diff --git a/api/_content/cache.1698498573480.json b/api/_content/cache.1698639588562.json similarity index 99% rename from api/_content/cache.1698498573480.json rename to api/_content/cache.1698639588562.json index a43b936011..c01998abc3 100644 --- a/api/_content/cache.1698498573480.json +++ b/api/_content/cache.1698639588562.json @@ -1 +1 @@ -{"generatedAt":1698498628780,"generateTime":5269,"contents":[{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"vue-recaptcha document","description":"","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/guide\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/DanSnow/vue-recaptcha\"]","snippet":"yarn add vue-recaptcha@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js"}]}]}]},{"type":"element","tag":"index-demo","props":{},"children":[{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's included"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v2"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The \"I'm not a robot\" checkbox"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Determinate if user is human without interrupt the user flow"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt integration"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use reCAPTCHA in Nuxt.js"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:0.index.md","_source":"content","_file":"0.index.md","_extension":"md"},{"_path":"/guide/_dir","_dir":"guide","_draft":false,"_partial":true,"_locale":"","title":"Guide","_id":"content:1.guide:_dir.yml","_type":"yaml","_source":"content","_file":"1.guide/_dir.yml","_extension":"yml"},{"_path":"/guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Get started","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"get-started"},"children":[{"type":"text","value":"Get started"}]},{"type":"element","tag":"alert","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From vue-recaptcha v2? v3 is a complete rewrite, please check out "},{"type":"element","tag":"a","props":{"href":"./guide/migration"},"children":[{"type":"text","value":"migration guide"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's get started with vue-recaptcha."}]},{"type":"element","tag":"h1","props":{"id":"what-is-vue-recaptcha"},"children":[{"type":"text","value":"What is vue-recaptcha"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is just a wrapper to provide an easier interface for "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/","rel":["nofollow"]},"children":[{"type":"text","value":"Google's reCAPTCHA"}]}]},{"type":"element","tag":"list","props":{"type":"success"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component that is easy to use"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"composable to integrate into your own app"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is not for:"}]},{"type":"element","tag":"list","props":{"type":"danger"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"customize reCAPTCHA UI"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"provide features that is not implemented by Google reCATPCHA, like change language on the fly"}]}]}]},{"type":"element","tag":"h2","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Yarn"},"children":[{"type":"element","tag":"terminal","props":{"content":"yarn add vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"NPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"npm install vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"PNPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"pnpm add vue-recaptcha@next"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"setup-vue-recaptcha-plugin"},"children":[{"type":"text","value":"Setup vue-recaptcha plugin"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, vue-recaptcha use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" to inject the reCAPTCHA script, if you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", please check out "},{"type":"element","tag":"a","props":{"href":"#usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please replace "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V2_SITEKEY_HERE"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V3_SITEKEY_HERE"}]},{"type":"text","value":" with your keys. If you don't have one, please go to "},{"type":"element","tag":"a","props":{"href":"https://www.google.com/recaptcha/admin","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" and apply one"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In this document, if you see "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]},{"type":"text","value":" which means you'll need to pass "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]},{"type":"text","value":" and "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]},{"type":"text","value":" means you'll need "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v3SiteKey"}]}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"text","value":"If you did't provide the corresponding site key, you'll get a runtime error"}]},{"type":"element","tag":"h2","props":{"id":"provide-recaptcha-script"},"children":[{"type":"text","value":"Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"app\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"router-view"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"That's all, now you can start using vue-recaptcha. Please see "},{"type":"element","tag":"a","props":{"href":"./components"},"children":[{"type":"text","value":"components"}]},{"type":"text","value":" for quick introduce for all of the components"}]},{"type":"element","tag":"button-link","props":{"href":"./components"},"children":[{"type":"text","value":"Go to component overview"}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", you can simply import the plugin from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"vue-recaptcha/head"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha/head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, it will inject the reCAPTCHA script by simply creating a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"script"}]},{"type":"text","value":" tag in document "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"head"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"installation","depth":2,"text":"Installation"},{"id":"setup-vue-recaptcha-plugin","depth":2,"text":"Setup vue-recaptcha plugin"},{"id":"provide-recaptcha-script","depth":2,"text":"Provide reCAPTCHA script"},{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"}]}},"_type":"markdown","_id":"content:1.guide:0.index.md","_source":"content","_file":"1.guide/0.index.md","_extension":"md"},{"_path":"/guide/nuxt","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Nuxt","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha supports Nuxt.js out of the box."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"danger"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Original name"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Renamed to"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Checkbox"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaCheckbox"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV3"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can pass options to the module by adding a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":"."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"enterprise"},"children":[{"type":"text","value":"Enterprise"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using reCAPTCHA Enterprise, you can use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":" to enable the enterprise version support."}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"manually-install-plugin"},"children":[{"type":"text","value":"Manually Install Plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n plugin: false,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" plugin: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Then you will need to manually set up the plugin by creating a file named "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.ts"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha'\n\nexport default defineNuxtPlugin(({ vueApp }) => {\n const {\n public: { recaptcha },\n } = useRuntimeConfig()\n vueApp.use(VueRecaptchaPlugin, recaptcha)\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"vueApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" public"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptcha"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useRuntimeConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" vueApp."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, recaptcha)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options"},{"id":"enterprise","depth":2,"text":"Enterprise"},{"id":"manually-install-plugin","depth":2,"text":"Manually Install Plugin"}]}},"_type":"markdown","_id":"content:1.guide:1.nuxt.md","_source":"content","_file":"1.guide/1.nuxt.md","_extension":"md"},{"_path":"/guide/migration","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Migration from v2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migration-from-v2"},"children":[{"type":"text","value":"Migration from v2"}]},{"type":"element","tag":"h2","props":{"id":"_1-set-up-the-plugin"},"children":[{"type":"text","value":"1. set up the plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"V3 need you to set up a Vue plugin before start using."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_SITE_KEY_HERE'\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_SITE_KEY_HERE'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_2-provide-recaptcha-script"},"children":[{"type":"text","value":"2. Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_3-use-the-components"},"children":[{"type":"text","value":"3. Use the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now you can start using the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the \"I'm not a robot\" checkbox, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/checkbox"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the invisible reCAPTCHA, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"_1-set-up-the-plugin","depth":2,"text":"1. set up the plugin"},{"id":"_2-provide-recaptcha-script","depth":2,"text":"2. Provide reCAPTCHA script"},{"id":"_3-use-the-components","depth":2,"text":"3. Use the components"}]}},"_type":"markdown","_id":"content:1.guide:2.migration.md","_source":"content","_file":"1.guide/2.migration.md","_extension":"md"},{"_path":"/guide/enterprise","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Enterprise reCAPTCHA Support","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"enterprise-recaptcha-support"},"children":[{"type":"text","value":"Enterprise reCAPTCHA Support"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Simply change your plugin import to the following:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" and want to use the enterprise version, you can use the following code:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise-head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using Nuxt, you can set the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.enterprise"}]},{"type":"text","value":" option to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]},{"type":"text","value":":"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"},{"id":"nuxt","depth":2,"text":"Nuxt"}]}},"_type":"markdown","_id":"content:1.guide:3.enterprise.md","_source":"content","_file":"1.guide/3.enterprise.md","_extension":"md"},{"_path":"/guide/faq","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"FAQ","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"faq"},"children":[{"type":"text","value":"FAQ"}]},{"type":"element","tag":"h2","props":{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded"},"children":[{"type":"text","value":"What is \"ReCAPTCHA couldn't find user-provided function: "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"__vueRecaptchaLoaded"}]},{"type":"text","value":"\"?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app."}]},{"type":"element","tag":"h2","props":{"id":"how-to-test-vue-recaptcha"},"children":[{"type":"text","value":"How to test vue-recaptcha?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can mock "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"window.grecaptcha"}]},{"type":"text","value":" to bypass google's recaptcha."}]},{"type":"element","tag":"h2","props":{"id":"how-about-an-e2e-testing-or-integration-testing"},"children":[{"type":"text","value":"How about an e2e testing (or integration testing)?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please reference to "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha.-what-should-i-do","rel":["nofollow"]},"children":[{"type":"text","value":"recaptcha's FAQ"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded","depth":2,"text":"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?"},{"id":"how-to-test-vue-recaptcha","depth":2,"text":"How to test vue-recaptcha?"},{"id":"how-about-an-e2e-testing-or-integration-testing","depth":2,"text":"How about an e2e testing (or integration testing)?"}]}},"_type":"markdown","_id":"content:1.guide:4.faq.md","_source":"content","_file":"1.guide/4.faq.md","_extension":"md"},{"_path":"/components/_dir","_dir":"components","_draft":false,"_partial":true,"_locale":"","title":"Components","_id":"content:2.components:_dir.yml","_type":"yaml","_source":"content","_file":"2.components/_dir.yml","_extension":"yml"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Overview","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"h2","props":{"id":"checkbox-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The most basic form of the reCAPTCHA"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"button-link","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev2-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Invisible reCAPTCHA."}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev3-v3"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"checkbox-v2","depth":2,"text":"Checkbox v2"},{"id":"challengev2-v2","depth":2,"text":"ChallengeV2 v2"},{"id":"challengev3-v3","depth":2,"text":"ChallengeV3 v3"}]}},"_type":"markdown","_id":"content:2.components:0.index.md","_source":"content","_file":"2.components/0.index.md","_extension":"md"},{"_path":"/components/checkbox","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"Checkbox","description":"Insert reCAPTCHA v2 checkbox","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"checkbox-v2"},"children":[{"type":"text","value":"Checkbox "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Insert reCAPTCHA v2 checkbox"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"checkbox-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ThemeButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response = ''\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? 'Verified' : 'Please click the checkbox' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :key"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :theme"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"theme"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light' | 'dark'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Theme for reCAPTCHA checkbox"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"size"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal' | 'compact'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Size for the reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]}]}},"_type":"markdown","_id":"content:2.components:1.checkbox.md","_source":"content","_file":"2.components/1.checkbox.md","_extension":"md"},{"_path":"/components/challenge-v2","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV2","description":"Create invisible reCAPTCHA v2","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev2-v2"},"children":[{"type":"text","value":"ChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create invisible reCAPTCHA v2"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v2-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { RecaptchaV2State } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '#recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" map"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Init]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Click to Challenge'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Verified]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Expired]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Error]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-slot"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"{ state }\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"badge"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"`'bottomright'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'bottomleft'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'inline'`"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * widget id\n */\n widgetId: WidgetID | undefined\n /**\n * reCAPTCHA state\n */\n state: RecaptchaV2State\n\n isError: boolean\n isExpired: boolean\n isVerified: boolean\n\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n /**\n * execute challenge\n */\n execute: () => void\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetId"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA state"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isVerified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"recaptchav2state"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaV2State"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export enum RecaptchaV2State {\n Init = 'init',\n Verified = 'verified',\n Expired = 'expired',\n Error = 'error',\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" enum"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Init"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'init'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Verified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Expired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Error"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"mermaid","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"},{"id":"recaptchav2state","depth":3,"text":"RecaptchaV2State"}]}]}},"_type":"markdown","_id":"content:2.components:2.challenge-v2.md","_source":"content","_file":"2.components/2.challenge-v2.md","_extension":"md"},{"_path":"/components/challenge-v3","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV3","description":"Create reCAPTCHA v3 challenge","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev3-v3"},"children":[{"type":"text","value":"ChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create reCAPTCHA v3 challenge"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v3-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" action"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":" for reCAPTCHA v3"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * reCAPTCHA v3 response\n */\n response: string | undefined\n /**\n * execute reCAPTCHA v3 challenge\n */\n execute: () => Promise\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute reCAPTCHA v3 challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"}]}]}},"_type":"markdown","_id":"content:2.components:3.challenge-v3.md","_source":"content","_file":"2.components/3.challenge-v3.md","_extension":"md"},{"_path":"/composables/_dir","_dir":"composables","_draft":false,"_partial":true,"_locale":"","title":"Composables","_id":"content:3.composables:_dir.yml","_type":"yaml","_source":"content","_file":"3.composables/_dir.yml","_extension":"yml"},{"_path":"/composables/recaptcha-provider","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useRecaptchaProvider","description":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"userecaptchaprovider"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.composables:0.recaptcha-provider.md","_source":"content","_file":"3.composables/0.recaptcha-provider.md","_extension":"md"},{"_path":"/composables/challenge-v2","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev2-v2"},"children":[{"type":"text","value":"useChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"interface RecaptchaV2CheckboxOptionsInput {\n theme?: 'dark' | 'light'\n size?: 'compact' | 'normal'\n tabindex?: string\n}\n\ninterface RecaptchaV2InvisibleOptionsInput {\n badge?: 'bottomright' | 'bottomleft' | 'inline'\n size: 'invisible'\n tabindex?: string\n}\n\nexport interface UseChallengeV2Input {\n /**\n * root to mount reCAPTCHA\n */\n root?: MaybeComputedRef\n /**\n * Option that pass to reCAPTCHA render\n */\n options?: RecaptchaV2OptionsInput\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2CheckboxOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'light'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'compact'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'normal'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2InvisibleOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" badge"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomright'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomleft'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'inline'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'invisible'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Input"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" MaybeComputedRef"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Option that pass to reCAPTCHA render"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" options"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2OptionsInput"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV2Return {\n /**\n * root element ref to mount reCAPTCHA\n */\n root: Ref\n /**\n * reCAPTCHA widget id\n */\n widgetID: Ref\n\n /**\n * state of reCAPTCHA\n */\n state: Ref\n\n /**\n * the verified event\n */\n onVerify: EventHookOn\n /**\n * the expired event\n */\n onExpired: EventHookOn\n /**\n * the error event\n */\n onError: EventHookOn\n\n /**\n * execute the challenge\n */\n execute: () => void\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root element ref to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * state of reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the verified event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the expired event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"void"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the error event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":37},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"About the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"state"}]},{"type":"text","value":" please see "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2#recaptchav2state"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" for more details"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please see "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/display#render_param","rel":["nofollow"]},"children":[{"type":"text","value":"reCAPTCHA docs"}]},{"type":"text","value":" for more information about the options."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"examples"},"children":[{"type":"text","value":"Examples"}]},{"type":"element","tag":"h3","props":{"id":"checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" theme: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'normal'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"invisible-recaptcha"},"children":[{"type":"text","value":"Invisible reCAPTCHA"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'invisible'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"execute\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"examples","depth":2,"text":"Examples","children":[{"id":"checkbox","depth":3,"text":"Checkbox"},{"id":"invisible-recaptcha","depth":3,"text":"Invisible reCAPTCHA"}]}]}},"_type":"markdown","_id":"content:3.composables:1.challenge-v2.md","_source":"content","_file":"3.composables/1.challenge-v2.md","_extension":"md"},{"_path":"/composables/challenge-v3","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV3","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev3-v3"},"children":[{"type":"text","value":"useChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you execute the reCAPTCHA v3 challenge"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":": The action for reCAPTCHA v3"}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV3Return {\n /**\n * reCAPTCHA v3 response as ref\n */\n response: Ref\n /**\n * Execute the challenge\n * @returns response for reCAPTCHA v3\n */\n execute: () => Promise\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV3Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response as ref"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"@returns"}]},{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" response for reCAPTCHA v3"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV3 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'submit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"usage","depth":2,"text":"Usage"}]}},"_type":"markdown","_id":"content:3.composables:2.challenge-v3.md","_source":"content","_file":"3.composables/2.challenge-v3.md","_extension":"md"},{"_path":"/advanced/_dir","_dir":"advanced","_draft":false,"_partial":true,"_locale":"","title":"Advanced Topics","_id":"content:4.advanced:_dir.yml","_type":"yaml","_source":"content","_file":"4.advanced/_dir.yml","_extension":"yml"},{"_path":"/advanced/customize-recaptcha-script-loading","_dir":"advanced","_draft":false,"_partial":false,"_locale":"","title":"Customize reCAPTCHA script loading","description":"By default vue-recaptcha will use unhead to load the reCAPTCHA script.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"customize-recaptcha-script-loading"},"children":[{"type":"text","value":"Customize reCAPTCHA script loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default vue-recaptcha will use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" to load the reCAPTCHA script."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to completely control how to load the reCAPTCHA script. You can use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"createPlugin"}]},{"type":"text","value":" to create a plugin with your own "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"loadScript"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { onMounted } from 'vue'\nimport { defineScriptLoader, toQueryString } from 'vue-recaptcha'\n\n// Define your own loadScript function\nconst loadScript = defineScriptLoader((options) => {\n // This function will be called by useRecaptchaProvider\n return () => {\n onMounted(() => {\n // You can use any way to load the reCAPTCHA script\n const script = document.createElement('script')\n script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`\n script.async = true\n script.defer = true\n if (options.nonce) {\n script.nonce = options.nonce\n }\n document.head.append(script)\n })\n }\n})\n\nconst plugin = createPlugin(loadScript)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { onMounted } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { defineScriptLoader, toQueryString } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"// Define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" loadScript"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // This function will be called by useRecaptchaProvider"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onMounted"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You can use any way to load the reCAPTCHA script"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" script"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"createElement"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'script'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.src "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" `${"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}?${"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"toQueryString"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.async "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.defer "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" (options.nonce) {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.nonce "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options.nonce"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document.head."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"append"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(script)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" plugin"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(loadScript)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"the-definescriptloader-function-and-scriptloaderoptions"},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"defineScriptLoader"}]},{"type":"text","value":" function and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ScriptLoaderOptions"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface RecaptchaParams {\n // You must pass these two value as query string to reCAPTCHA\n render: LiteralUnion<'explicit', string>\n onload: string\n\n // Below you can customize as you want\n hl?: string | undefined\n trustedtypes?: 'true' | undefined\n [k: string]: string | undefined\n}\n\nexport interface ScriptLoaderOptions {\n /**\n * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored\n */\n useRecaptchaNet?: boolean\n /**\n * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored\n */\n recaptchaApiURL: string\n /**\n * nonce for script tag\n */\n nonce?: string\n /**\n * params for recaptcha api\n */\n params: RecaptchaParams\n}\n\n/**\n * Helper function for define your own loadScript function\n */\nfunction defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You must pass these two value as query string to reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" render"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" LiteralUnion"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'explicit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onload"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // Below you can customize as you want"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" hl"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" trustedtypes"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'true'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [k: string]"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderOptions"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" useRecaptchaNet"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * nonce for script tag"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" nonce"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * params for recaptcha api"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" params"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Helper function for define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"fn"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderFactory"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" NormalizedScriptLoaderFactory"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"the-definescriptloader-function-and-scriptloaderoptions","depth":2,"text":"The defineScriptLoader function and ScriptLoaderOptions"}]}},"_type":"markdown","_id":"content:4.advanced:0.customize-recaptcha-script-loading.md","_source":"content","_file":"4.advanced/0.customize-recaptcha-script-loading.md","_extension":"md"},{"_path":"/integration/_dir","_dir":"integration","_draft":false,"_partial":true,"_locale":"","title":"Integration","_id":"content:5.integration:_dir.yml","_type":"yaml","_source":"content","_file":"5.integration/_dir.yml","_extension":"yml"},{"_path":"/integration/vee-validation","_dir":"integration","_draft":false,"_partial":false,"_locale":"","title":"Vee Validation","description":"Vee Validate is a plugin for form validation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vee-validation"},"children":[{"type":"text","value":"Vee Validation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://vee-validate.logaretm.com/v4/","rel":["nofollow"]},"children":[{"type":"text","value":"Vee Validate"}]},{"type":"text","value":" is a plugin for form validation."}]},{"type":"element","tag":"h3","props":{"id":"confirm-user-has-clicked-the-checkbox-before-submit"},"children":[{"type":"text","value":"Confirm user has clicked the checkbox before submit"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Please verify you are human'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'recaptcha'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(values)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaCheckbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ recaptchaError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"execute-challenge-when-user-submit-form"},"children":[{"type":"text","value":"Execute challenge when user submit form"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-invisible","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { until } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '@vueuse/core'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" until"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"values, response: response.value })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"confirm-user-has-clicked-the-checkbox-before-submit","depth":3,"text":"Confirm user has clicked the checkbox before submit"},{"id":"execute-challenge-when-user-submit-form","depth":3,"text":"Execute challenge when user submit form"}]}},"_type":"markdown","_id":"content:5.integration:0.vee-validation.md","_source":"content","_file":"5.integration/0.vee-validation.md","_extension":"md"}],"navigation":[{"title":"Guide","_path":"/guide","children":[{"title":"Get started","_path":"/guide"},{"title":"Nuxt","_path":"/guide/nuxt"},{"title":"Migration from v2","_path":"/guide/migration"},{"title":"Enterprise reCAPTCHA Support","_path":"/guide/enterprise"},{"title":"FAQ","_path":"/guide/faq"}]},{"title":"Components","_path":"/components","children":[{"title":"Overview","_path":"/components"},{"title":"Checkbox","_path":"/components/checkbox"},{"title":"ChallengeV2","_path":"/components/challenge-v2"},{"title":"ChallengeV3","_path":"/components/challenge-v3"}]},{"title":"Composables","_path":"/composables","children":[{"title":"useRecaptchaProvider","_path":"/composables/recaptcha-provider"},{"title":"useChallengeV2","_path":"/composables/challenge-v2"},{"title":"useChallengeV3","_path":"/composables/challenge-v3"}]},{"title":"Advanced Topics","_path":"/advanced","children":[{"title":"Customize reCAPTCHA script loading","_path":"/advanced/customize-recaptcha-script-loading"}]},{"title":"Integration","_path":"/integration","children":[{"title":"Vee Validation","_path":"/integration/vee-validation"}]}]} \ No newline at end of file +{"generatedAt":1698639637820,"generateTime":4887,"contents":[{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"vue-recaptcha document","description":"","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/guide\"]",":secondary":"[\"Open on GitHub →\",\"https://github.com/DanSnow/vue-recaptcha\"]","snippet":"yarn add vue-recaptcha@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js"}]}]}]},{"type":"element","tag":"index-demo","props":{},"children":[{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"What's included"}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v2"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The \"I'm not a robot\" checkbox"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Determinate if user is human without interrupt the user flow"}]}]}]},{"type":"element","tag":"card","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt integration"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use reCAPTCHA in Nuxt.js"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:0.index.md","_source":"content","_file":"0.index.md","_extension":"md"},{"_path":"/guide/_dir","_dir":"guide","_draft":false,"_partial":true,"_locale":"","title":"Guide","_id":"content:1.guide:_dir.yml","_type":"yaml","_source":"content","_file":"1.guide/_dir.yml","_extension":"yml"},{"_path":"/guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Get started","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"get-started"},"children":[{"type":"text","value":"Get started"}]},{"type":"element","tag":"alert","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From vue-recaptcha v2? v3 is a complete rewrite, please check out "},{"type":"element","tag":"a","props":{"href":"./guide/migration"},"children":[{"type":"text","value":"migration guide"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's get started with vue-recaptcha."}]},{"type":"element","tag":"h1","props":{"id":"what-is-vue-recaptcha"},"children":[{"type":"text","value":"What is vue-recaptcha"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is just a wrapper to provide an easier interface for "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/","rel":["nofollow"]},"children":[{"type":"text","value":"Google's reCAPTCHA"}]}]},{"type":"element","tag":"list","props":{"type":"success"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component that is easy to use"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"composable to integrate into your own app"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha is not for:"}]},{"type":"element","tag":"list","props":{"type":"danger"},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"customize reCAPTCHA UI"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"provide features that is not implemented by Google reCATPCHA, like change language on the fly"}]}]}]},{"type":"element","tag":"h2","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{"label":"Yarn"},"children":[{"type":"element","tag":"terminal","props":{"content":"yarn add vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"NPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"npm install vue-recaptcha@next"},"children":[]}]},{"type":"element","tag":"code-block","props":{"label":"PNPM"},"children":[{"type":"element","tag":"terminal","props":{"content":"pnpm add vue-recaptcha@next"},"children":[]}]}]},{"type":"element","tag":"h2","props":{"id":"setup-vue-recaptcha-plugin"},"children":[{"type":"text","value":"Setup vue-recaptcha plugin"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, vue-recaptcha use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" to inject the reCAPTCHA script, if you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", please check out "},{"type":"element","tag":"a","props":{"href":"#usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please replace "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V2_SITEKEY_HERE"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"YOUR_V3_SITEKEY_HERE"}]},{"type":"text","value":" with your keys. If you don't have one, please go to "},{"type":"element","tag":"a","props":{"href":"https://www.google.com/recaptcha/admin","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" and apply one"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In this document, if you see "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]},{"type":"text","value":" which means you'll need to pass "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v2SiteKey"}]},{"type":"text","value":" and "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]},{"type":"text","value":" means you'll need "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v3SiteKey"}]}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"text","value":"If you did't provide the corresponding site key, you'll get a runtime error"}]},{"type":"element","tag":"h2","props":{"id":"provide-recaptcha-script"},"children":[{"type":"text","value":"Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"app\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"router-view"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"That's all, now you can start using vue-recaptcha. Please see "},{"type":"element","tag":"a","props":{"href":"./components"},"children":[{"type":"text","value":"components"}]},{"type":"text","value":" for quick introduce for all of the components"}]},{"type":"element","tag":"button-link","props":{"href":"./components"},"children":[{"type":"text","value":"Go to component overview"}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@unhead/vue"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"@vueuse/head"}]},{"type":"text","value":", you can simply import the plugin from "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"vue-recaptcha/head"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha/head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, it will inject the reCAPTCHA script by simply creating a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"script"}]},{"type":"text","value":" tag in document "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"head"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"installation","depth":2,"text":"Installation"},{"id":"setup-vue-recaptcha-plugin","depth":2,"text":"Setup vue-recaptcha plugin"},{"id":"provide-recaptcha-script","depth":2,"text":"Provide reCAPTCHA script"},{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"}]}},"_type":"markdown","_id":"content:1.guide:0.index.md","_source":"content","_file":"1.guide/0.index.md","_extension":"md"},{"_path":"/guide/nuxt","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Nuxt","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"vue-recaptcha supports Nuxt.js out of the box."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"danger"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Original name"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Renamed to"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"Checkbox"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaCheckbox"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaChallengeV3"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can pass options to the module by adding a "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":"."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"enterprise"},"children":[{"type":"text","value":"Enterprise"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using reCAPTCHA Enterprise, you can use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha"}]},{"type":"text","value":" key in "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":" to enable the enterprise version support."}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"manually-install-plugin"},"children":[{"type":"text","value":"Manually Install Plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"nuxt.config.js"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n plugin: false,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" plugin: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Then you will need to manually set up the plugin by creating a file named "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.ts"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha'\n\nexport default defineNuxtPlugin(({ vueApp }) => {\n const {\n public: { recaptcha },\n } = useRuntimeConfig()\n vueApp.use(VueRecaptchaPlugin, recaptcha)\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" default"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"vueApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" public"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptcha"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useRuntimeConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" vueApp."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, recaptcha)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options"},{"id":"enterprise","depth":2,"text":"Enterprise"},{"id":"manually-install-plugin","depth":2,"text":"Manually Install Plugin"}]}},"_type":"markdown","_id":"content:1.guide:1.nuxt.md","_source":"content","_file":"1.guide/1.nuxt.md","_extension":"md"},{"_path":"/guide/migration","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Migration from v2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migration-from-v2"},"children":[{"type":"text","value":"Migration from v2"}]},{"type":"element","tag":"h2","props":{"id":"_1-set-up-the-plugin"},"children":[{"type":"text","value":"1. set up the plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"V3 need you to set up a Vue plugin before start using."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { VueRecaptchaPlugin } from 'vue-recaptcha'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin, {\n v2SiteKey: 'YOUR_SITE_KEY_HERE'\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { VueRecaptchaPlugin } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin, {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_SITE_KEY_HERE'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_2-provide-recaptcha-script"},"children":[{"type":"text","value":"2. Provide reCAPTCHA script"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To load the reCAPTCHA script, you will need to call "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"text","value":" in your "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"app.vue"}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"_3-use-the-components"},"children":[{"type":"text","value":"3. Use the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now you can start using the components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the \"I'm not a robot\" checkbox, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/checkbox"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using the invisible reCAPTCHA, please use the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can read more at "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2"},"children":[{"type":"text","value":"here"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"_1-set-up-the-plugin","depth":2,"text":"1. set up the plugin"},{"id":"_2-provide-recaptcha-script","depth":2,"text":"2. Provide reCAPTCHA script"},{"id":"_3-use-the-components","depth":2,"text":"3. Use the components"}]}},"_type":"markdown","_id":"content:1.guide:2.migration.md","_source":"content","_file":"1.guide/2.migration.md","_extension":"md"},{"_path":"/guide/enterprise","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"Enterprise reCAPTCHA Support","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"enterprise-recaptcha-support"},"children":[{"type":"text","value":"Enterprise reCAPTCHA Support"}]},{"type":"element","tag":"alert","props":{"type":"warning"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enterprise version support is experimental and may be changed in the future."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Simply change your plugin import to the following:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage-without-unhead"},"children":[{"type":"text","value":"Usage without unhead"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are not using "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" and want to use the enterprise version, you can use the following code:"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'\n\nconst app = createApp(App)\napp.use(VueRecaptchaPlugin)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" VueRecaptchaPlugin "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha/enterprise-head'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" app"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createApp"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(App)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"app."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(VueRecaptchaPlugin)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"text","value":"Nuxt"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are using Nuxt, you can set the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"recaptcha.enterprise"}]},{"type":"text","value":" option to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]},{"type":"text","value":":"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"defineNuxtConfig({\n modules: ['vue-recaptcha/nuxt'],\n runtimeConfig: {\n public: {\n recaptcha: {\n v2SiteKey: 'YOUR_V2_SITEKEY_HERE',\n v3SiteKey: 'YOUR_V3_SITEKEY_HERE',\n },\n },\n },\n recaptcha: {\n enterprise: true,\n },\n})\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" modules: ["}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'vue-recaptcha/nuxt'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" runtimeConfig: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" public: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v2SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V2_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" v3SiteKey: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'YOUR_V3_SITEKEY_HERE'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" enterprise: "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage-without-unhead","depth":2,"text":"Usage without unhead"},{"id":"nuxt","depth":2,"text":"Nuxt"}]}},"_type":"markdown","_id":"content:1.guide:3.enterprise.md","_source":"content","_file":"1.guide/3.enterprise.md","_extension":"md"},{"_path":"/guide/faq","_dir":"guide","_draft":false,"_partial":false,"_locale":"","title":"FAQ","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"faq"},"children":[{"type":"text","value":"FAQ"}]},{"type":"element","tag":"h2","props":{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded"},"children":[{"type":"text","value":"What is \"ReCAPTCHA couldn't find user-provided function: "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"__vueRecaptchaLoaded"}]},{"type":"text","value":"\"?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app."}]},{"type":"element","tag":"h2","props":{"id":"how-to-test-vue-recaptcha"},"children":[{"type":"text","value":"How to test vue-recaptcha?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can mock "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"window.grecaptcha"}]},{"type":"text","value":" to bypass google's recaptcha."}]},{"type":"element","tag":"h2","props":{"id":"how-about-an-e2e-testing-or-integration-testing"},"children":[{"type":"text","value":"How about an e2e testing (or integration testing)?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please reference to "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha.-what-should-i-do","rel":["nofollow"]},"children":[{"type":"text","value":"recaptcha's FAQ"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"what-is-recaptcha-couldnt-find-user-provided-function-__vuerecaptchaloaded","depth":2,"text":"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?"},{"id":"how-to-test-vue-recaptcha","depth":2,"text":"How to test vue-recaptcha?"},{"id":"how-about-an-e2e-testing-or-integration-testing","depth":2,"text":"How about an e2e testing (or integration testing)?"}]}},"_type":"markdown","_id":"content:1.guide:4.faq.md","_source":"content","_file":"1.guide/4.faq.md","_extension":"md"},{"_path":"/components/_dir","_dir":"components","_draft":false,"_partial":true,"_locale":"","title":"Components","_id":"content:2.components:_dir.yml","_type":"yaml","_source":"content","_file":"2.components/_dir.yml","_extension":"yml"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Overview","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"h2","props":{"id":"checkbox-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The most basic form of the reCAPTCHA"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"recaptcha-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"button-link","props":{"href":"./components/checkbox"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev2-v2"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Invisible reCAPTCHA."}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v2"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"h2","props":{"id":"challengev3-v3"},"children":[{"type":"element","tag":"a","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"reCAPTCHA v3"}]},{"type":"element","tag":"button-link","props":{"href":"./components/challenge-v3"},"children":[{"type":"text","value":"Go to document"}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"checkbox-v2","depth":2,"text":"Checkbox v2"},{"id":"challengev2-v2","depth":2,"text":"ChallengeV2 v2"},{"id":"challengev3-v3","depth":2,"text":"ChallengeV3 v3"}]}},"_type":"markdown","_id":"content:2.components:0.index.md","_source":"content","_file":"2.components/0.index.md","_extension":"md"},{"_path":"/components/checkbox","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"Checkbox","description":"Insert reCAPTCHA v2 checkbox","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"checkbox-v2"},"children":[{"type":"text","value":"Checkbox "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Insert reCAPTCHA v2 checkbox"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"checkbox-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ThemeButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response = ''\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? 'Verified' : 'Please click the checkbox' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :key"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" :theme"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"theme\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"theme"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light' | 'dark'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'light'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Theme for reCAPTCHA checkbox"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"size"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal' | 'compact'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'normal'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Size for the reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]}]}},"_type":"markdown","_id":"content:2.components:1.checkbox.md","_source":"content","_file":"2.components/1.checkbox.md","_extension":"md"},{"_path":"/components/challenge-v2","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV2","description":"Create invisible reCAPTCHA v2","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev2-v2"},"children":[{"type":"text","value":"ChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create invisible reCAPTCHA v2"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v2-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { RecaptchaV2State } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '#recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" map"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Init]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Click to Challenge'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Verified]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Expired]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [RecaptchaV2State.Error]: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-slot"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"{ state }\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"badge"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"`'bottomright'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'bottomleft'"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"'inline'`"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"widgetId"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Widget id for reCAPTCHA checkbox"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"about-modelvalue"},"children":[{"type":"text","value":"About "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can set "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"null"}]},{"type":"text","value":" or empty string to reset reCAPTCHA checkbox."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV2"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * widget id\n */\n widgetId: WidgetID | undefined\n /**\n * reCAPTCHA state\n */\n state: RecaptchaV2State\n\n isError: boolean\n isExpired: boolean\n isVerified: boolean\n\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n /**\n * execute challenge\n */\n execute: () => void\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetId"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA state"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" isVerified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"recaptchav2state"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"RecaptchaV2State"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export enum RecaptchaV2State {\n Init = 'init',\n Verified = 'verified',\n Expired = 'expired',\n Error = 'error',\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" enum"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Init"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'init'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Verified"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'verified'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Expired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'expired'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" Error"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'error'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"mermaid","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init"}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model","children":[{"id":"about-modelvalue","depth":3,"text":"About modelValue"}]},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"},{"id":"recaptchav2state","depth":3,"text":"RecaptchaV2State"}]}]}},"_type":"markdown","_id":"content:2.components:2.challenge-v2.md","_source":"content","_file":"2.components/2.challenge-v2.md","_extension":"md"},{"_path":"/components/challenge-v3","_dir":"components","_draft":false,"_partial":false,"_locale":"","title":"ChallengeV3","description":"Create reCAPTCHA v3 challenge","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"challengev3-v3"},"children":[{"type":"text","value":"ChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create reCAPTCHA v3 challenge"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"challenge-v3-demo","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":" \n\n \n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" action"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"props"},"children":[{"type":"text","value":"Props"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"default"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":" for reCAPTCHA v3"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"as"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"'div'"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"What element to render"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"autoExecute"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"boolean"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Should vue-recaptcha execute challenge on click, if you set it to "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" you'll need to call the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"execute"}]},{"type":"text","value":" method in the slot"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"v-model"},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"v-model"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"key"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"type"}]}]},{"type":"element","tag":"th","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"modelValue"}]}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"The reCAPTCHA response"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"slots"},"children":[{"type":"text","value":"Slots"}]},{"type":"element","tag":"h3","props":{"id":"default"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is the position that usually place a your submit button. When click on the content, "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ChallengeV3"}]},{"type":"text","value":" will automatically execute the reCAPTCHA challenge by default"}]},{"type":"element","tag":"h4","props":{"id":"slot-api"},"children":[{"type":"text","value":"Slot API"}]},{"type":"element","tag":"pre","props":{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"interface SlotApi {\n /**\n * reCAPTCHA v3 response\n */\n response: string | undefined\n /**\n * execute reCAPTCHA v3 challenge\n */\n execute: () => Promise\n}\n","language":"typescript","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" SlotApi"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute reCAPTCHA v3 challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"props","depth":2,"text":"Props"},{"id":"v-model","depth":2,"text":"v-model"},{"id":"slots","depth":2,"text":"Slots","children":[{"id":"default","depth":3,"text":"default"}]}]}},"_type":"markdown","_id":"content:2.components:3.challenge-v3.md","_source":"content","_file":"2.components/3.challenge-v3.md","_extension":"md"},{"_path":"/composables/_dir","_dir":"composables","_draft":false,"_partial":true,"_locale":"","title":"Composables","_id":"content:3.composables:_dir.yml","_type":"yaml","_source":"content","_file":"3.composables/_dir.yml","_extension":"yml"},{"_path":"/composables/recaptcha-provider","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useRecaptchaProvider","description":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"userecaptchaprovider"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work."}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useRecaptchaProvider } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"useRecaptchaProvider"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.composables:0.recaptcha-provider.md","_source":"content","_file":"3.composables/0.recaptcha-provider.md","_extension":"md"},{"_path":"/composables/challenge-v2","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV2","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev2-v2"},"children":[{"type":"text","value":"useChallengeV2 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v2"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"interface RecaptchaV2CheckboxOptionsInput {\n theme?: 'dark' | 'light'\n size?: 'compact' | 'normal'\n tabindex?: string\n}\n\ninterface RecaptchaV2InvisibleOptionsInput {\n badge?: 'bottomright' | 'bottomleft' | 'inline'\n size: 'invisible'\n tabindex?: string\n}\n\nexport interface UseChallengeV2Input {\n /**\n * root to mount reCAPTCHA\n */\n root?: MaybeComputedRef\n /**\n * Option that pass to reCAPTCHA render\n */\n options?: RecaptchaV2OptionsInput\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2CheckboxOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" theme"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'dark'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'light'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'compact'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'normal'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2InvisibleOptionsInput"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" badge"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomright'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'bottomleft'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'inline'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" size"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'invisible'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" tabindex"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Input"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" MaybeComputedRef"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Option that pass to reCAPTCHA render"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" options"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaV2OptionsInput"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV2Return {\n /**\n * root element ref to mount reCAPTCHA\n */\n root: Ref\n /**\n * reCAPTCHA widget id\n */\n widgetID: Ref\n\n /**\n * state of reCAPTCHA\n */\n state: Ref\n\n /**\n * the verified event\n */\n onVerify: EventHookOn\n /**\n * the expired event\n */\n onExpired: EventHookOn\n /**\n * the error event\n */\n onError: EventHookOn\n\n /**\n * execute the challenge\n */\n execute: () => void\n /**\n * reset reCAPTCHA\n */\n reset: () => void\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV2Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * root element ref to mount reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" root"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Element"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA widget id"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" widgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"WidgetID"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * state of reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" state"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"RecaptchaV2State"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the verified event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the expired event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onExpired"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"void"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * the error event"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onError"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" EventHookOn"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reset reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" reset"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" void"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":37},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"About the "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"state"}]},{"type":"text","value":" please see "},{"type":"element","tag":"a","props":{"href":"../components/challenge-v2#recaptchav2state"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":" for more details"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please see "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/display#render_param","rel":["nofollow"]},"children":[{"type":"text","value":"reCAPTCHA docs"}]},{"type":"text","value":" for more information about the options."}]},{"type":"element","tag":"h2","props":{"id":"about-the-visible-badge-for-invisible-recaptcha"},"children":[{"type":"text","value":"About the visible Badge for invisible reCAPTCHA"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it."}]},{"type":"element","tag":"pre","props":{"className":"language-css shiki shiki-themes github-light github-dark","code":".grecaptcha-badge { visibility: hidden; }\n","language":"css","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":".grecaptcha-badge"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"visibility"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"hidden"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"; }"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this "},{"type":"element","tag":"a","props":{"href":"https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed","rel":["nofollow"]},"children":[{"type":"text","value":"link"}]}]},{"type":"element","tag":"h2","props":{"id":"examples"},"children":[{"type":"text","value":"Examples"}]},{"type":"element","tag":"h3","props":{"id":"checkbox"},"children":[{"type":"text","value":"Checkbox"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" theme: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'light'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'normal'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"invisible-recaptcha"},"children":[{"type":"text","value":"Invisible reCAPTCHA"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV2 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" size: "}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'invisible'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"onVerify"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"response"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"execute\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"root\""}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":" /"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"about-the-visible-badge-for-invisible-recaptcha","depth":2,"text":"About the visible Badge for invisible reCAPTCHA"},{"id":"examples","depth":2,"text":"Examples","children":[{"id":"checkbox","depth":3,"text":"Checkbox"},{"id":"invisible-recaptcha","depth":3,"text":"Invisible reCAPTCHA"}]}]}},"_type":"markdown","_id":"content:3.composables:1.challenge-v2.md","_source":"content","_file":"3.composables/1.challenge-v2.md","_extension":"md"},{"_path":"/composables/challenge-v3","_dir":"composables","_draft":false,"_partial":false,"_locale":"","title":"useChallengeV3","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usechallengev3-v3"},"children":[{"type":"text","value":"useChallengeV3 "},{"type":"element","tag":"badge","props":{},"children":[{"type":"text","value":"v3"}]}]},{"type":"element","tag":"h2","props":{"id":"description"},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A composable to help you execute the reCAPTCHA v3 challenge"}]},{"type":"element","tag":"h2","props":{"id":"input"},"children":[{"type":"text","value":"Input"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"action"}]},{"type":"text","value":": The action for reCAPTCHA v3"}]}]},{"type":"element","tag":"h2","props":{"id":"return"},"children":[{"type":"text","value":"Return"}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface UseChallengeV3Return {\n /**\n * reCAPTCHA v3 response as ref\n */\n response: Ref\n /**\n * Execute the challenge\n * @returns response for reCAPTCHA v3\n */\n execute: () => Promise\n}\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" UseChallengeV3Return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * reCAPTCHA v3 response as ref"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Execute the challenge"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"@returns"}]},{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" response for reCAPTCHA v3"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" Promise"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useChallengeV3 } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useChallengeV3"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'submit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" execute"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // do something with response"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"button"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @click"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"description","depth":2,"text":"Description"},{"id":"input","depth":2,"text":"Input"},{"id":"return","depth":2,"text":"Return"},{"id":"usage","depth":2,"text":"Usage"}]}},"_type":"markdown","_id":"content:3.composables:2.challenge-v3.md","_source":"content","_file":"3.composables/2.challenge-v3.md","_extension":"md"},{"_path":"/advanced/_dir","_dir":"advanced","_draft":false,"_partial":true,"_locale":"","title":"Advanced Topics","_id":"content:4.advanced:_dir.yml","_type":"yaml","_source":"content","_file":"4.advanced/_dir.yml","_extension":"yml"},{"_path":"/advanced/customize-recaptcha-script-loading","_dir":"advanced","_draft":false,"_partial":false,"_locale":"","title":"Customize reCAPTCHA script loading","description":"By default vue-recaptcha will use unhead to load the reCAPTCHA script.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"customize-recaptcha-script-loading"},"children":[{"type":"text","value":"Customize reCAPTCHA script loading"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default vue-recaptcha will use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"unhead"}]},{"type":"text","value":" to load the reCAPTCHA script."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to completely control how to load the reCAPTCHA script. You can use "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"createPlugin"}]},{"type":"text","value":" to create a plugin with your own "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"loadScript"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"import { onMounted } from 'vue'\nimport { defineScriptLoader, toQueryString } from 'vue-recaptcha'\n\n// Define your own loadScript function\nconst loadScript = defineScriptLoader((options) => {\n // This function will be called by useRecaptchaProvider\n return () => {\n onMounted(() => {\n // You can use any way to load the reCAPTCHA script\n const script = document.createElement('script')\n script.src = `${options.recaptchaApiURL}?${toQueryString(options.params)}`\n script.async = true\n script.defer = true\n if (options.nonce) {\n script.nonce = options.nonce\n }\n document.head.append(script)\n })\n }\n})\n\nconst plugin = createPlugin(loadScript)\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { onMounted } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { defineScriptLoader, toQueryString } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vue-recaptcha'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"// Define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" loadScript"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // This function will be called by useRecaptchaProvider"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" return"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" onMounted"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You can use any way to load the reCAPTCHA script"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" script"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"createElement"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'script'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.src "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" `${"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}?${"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"toQueryString"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.async "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.defer "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" true"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" (options.nonce) {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" script.nonce "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" options.nonce"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" document.head."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"append"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(script)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" plugin"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" createPlugin"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(loadScript)"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"the-definescriptloader-function-and-scriptloaderoptions"},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"defineScriptLoader"}]},{"type":"text","value":" function and "},{"type":"element","tag":"code","props":{"className":""},"children":[{"type":"text","value":"ScriptLoaderOptions"}]}]},{"type":"element","tag":"pre","props":{"className":"language-ts shiki shiki-themes github-light github-dark","code":"export interface RecaptchaParams {\n // You must pass these two value as query string to reCAPTCHA\n render: LiteralUnion<'explicit', string>\n onload: string\n\n // Below you can customize as you want\n hl?: string | undefined\n trustedtypes?: 'true' | undefined\n [k: string]: string | undefined\n}\n\nexport interface ScriptLoaderOptions {\n /**\n * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored\n */\n useRecaptchaNet?: boolean\n /**\n * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored\n */\n recaptchaApiURL: string\n /**\n * nonce for script tag\n */\n nonce?: string\n /**\n * params for recaptcha api\n */\n params: RecaptchaParams\n}\n\n/**\n * Helper function for define your own loadScript function\n */\nfunction defineScriptLoader(fn: ScriptLoaderFactory): NormalizedScriptLoaderFactory\n","language":"ts","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // You must pass these two value as query string to reCAPTCHA"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" render"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" LiteralUnion"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'explicit'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" onload"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" // Below you can customize as you want"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" hl"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" trustedtypes"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'true'"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" [k: string]"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" |"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" undefined"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" interface"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderOptions"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" useRecaptchaNet"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" boolean"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" recaptchaApiURL"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * nonce for script tag"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" nonce"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"?:"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" string"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" /**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * params for recaptcha api"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":" params"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" RecaptchaParams"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" * Helper function for define your own loadScript function"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#6A737D;--shiki-dark:#6A737D"},"children":[{"type":"text","value":" */"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" defineScriptLoader"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"fn"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ScriptLoaderFactory"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" NormalizedScriptLoaderFactory"}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"the-definescriptloader-function-and-scriptloaderoptions","depth":2,"text":"The defineScriptLoader function and ScriptLoaderOptions"}]}},"_type":"markdown","_id":"content:4.advanced:0.customize-recaptcha-script-loading.md","_source":"content","_file":"4.advanced/0.customize-recaptcha-script-loading.md","_extension":"md"},{"_path":"/integration/_dir","_dir":"integration","_draft":false,"_partial":true,"_locale":"","title":"Integration","_id":"content:5.integration:_dir.yml","_type":"yaml","_source":"content","_file":"5.integration/_dir.yml","_extension":"yml"},{"_path":"/integration/vee-validation","_dir":"integration","_draft":false,"_partial":false,"_locale":"","title":"Vee Validation","description":"Vee Validate is a plugin for form validation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vee-validation"},"children":[{"type":"text","value":"Vee Validation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://vee-validate.logaretm.com/v4/","rel":["nofollow"]},"children":[{"type":"text","value":"Vee Validate"}]},{"type":"text","value":" is a plugin for form validation."}]},{"type":"element","tag":"h3","props":{"id":"confirm-user-has-clicked-the-checkbox-before-submit"},"children":[{"type":"text","value":"Confirm user has clicked the checkbox before submit"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-checkbox","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" recaptcha: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'Please verify you are human'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"recaptchaError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'recaptcha'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(values)"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaCheckbox"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"recaptchaError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ recaptchaError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"execute-challenge-when-user-submit-form"},"children":[{"type":"text","value":"Execute challenge when user submit form"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code-block","props":{":preview":"true","label":"Preview","preview":true},"children":[{"type":"element","tag":"vee-validate-invisible","props":{},"children":[]}]},{"type":"element","tag":"pre","props":{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n\n\n","filename":"Code","language":"vue","meta":"","style":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line","line":1},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" setup"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":2},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { useField, useForm } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'vee-validate'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":3},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" *"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" as"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" yup "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" 'yup'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":4},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { until } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":" '@vueuse/core'"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":5},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":6},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useForm"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":7},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" validationSchema: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":8},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" name: yup."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":9},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":10},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":11},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":12},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameValue"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"errorMessage"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":"nameError"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" useField"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"'name'"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":13},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":14},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" response"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" ref"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":15},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":16},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"style":"color:#005CC5;--shiki-dark:#79B8FF"},"children":[{"type":"text","value":" onSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" ="}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" handleSubmit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"style":"color:#E36209;--shiki-dark:#FFAB70"},"children":[{"type":"text","value":"values"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":17},"children":[{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":" await"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" until"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"(response)."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"changed"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":18},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" console."}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"style":"color:#D73A49;--shiki-dark:#F97583"},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"values, response: response.value })"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":19},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":20},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"span","props":{"class":"line","line":21},"children":[]},{"type":"element","tag":"span","props":{"class":"line","line":22},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":23},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"form"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"flex flex-col gap-2\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" @submit"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"onSubmit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":24},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":25},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameValue\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"border border-blue p-1\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" placeholder"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"Your name\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":26},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-if"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"nameError\""}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" class"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"text-red\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">{{ nameError }}"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":27},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":28},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#22863A;--shiki-dark:#85E89D"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":29},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"RecaptchaChallengeV2"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" v-model"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"response\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":30},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"style":"color:#B31D28;--shiki-dark:#FDAEB7;font-style:italic;--shiki-dark-font-style:italic"},"children":[{"type":"text","value":"PrimaryButton"}]},{"type":"element","tag":"span","props":{"style":"color:#6F42C1;--shiki-dark:#B392F0"},"children":[{"type":"text","value":" type"}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"style":"color:#032F62;--shiki-dark:#9ECBFF"},"children":[{"type":"text","value":"\"submit\""}]},{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":">Submit"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":31},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":32},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":33},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":34},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"style","props":{},"children":[{"type":"text","value":"html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"confirm-user-has-clicked-the-checkbox-before-submit","depth":3,"text":"Confirm user has clicked the checkbox before submit"},{"id":"execute-challenge-when-user-submit-form","depth":3,"text":"Execute challenge when user submit form"}]}},"_type":"markdown","_id":"content:5.integration:0.vee-validation.md","_source":"content","_file":"5.integration/0.vee-validation.md","_extension":"md"}],"navigation":[{"title":"Guide","_path":"/guide","children":[{"title":"Get started","_path":"/guide"},{"title":"Nuxt","_path":"/guide/nuxt"},{"title":"Migration from v2","_path":"/guide/migration"},{"title":"Enterprise reCAPTCHA Support","_path":"/guide/enterprise"},{"title":"FAQ","_path":"/guide/faq"}]},{"title":"Components","_path":"/components","children":[{"title":"Overview","_path":"/components"},{"title":"Checkbox","_path":"/components/checkbox"},{"title":"ChallengeV2","_path":"/components/challenge-v2"},{"title":"ChallengeV3","_path":"/components/challenge-v3"}]},{"title":"Composables","_path":"/composables","children":[{"title":"useRecaptchaProvider","_path":"/composables/recaptcha-provider"},{"title":"useChallengeV2","_path":"/composables/challenge-v2"},{"title":"useChallengeV3","_path":"/composables/challenge-v3"}]},{"title":"Advanced Topics","_path":"/advanced","children":[{"title":"Customize reCAPTCHA script loading","_path":"/advanced/customize-recaptcha-script-loading"}]},{"title":"Integration","_path":"/integration","children":[{"title":"Vee Validation","_path":"/integration/vee-validation"}]}]} \ No newline at end of file diff --git a/api/_content/navigation/u7BbTyuhiE.1698498573480.json b/api/_content/navigation/u7BbTyuhiE.1698639588562.json similarity index 100% rename from api/_content/navigation/u7BbTyuhiE.1698498573480.json rename to api/_content/navigation/u7BbTyuhiE.1698639588562.json diff --git a/api/_content/query/5o97oNYApY.1698498573480.json b/api/_content/query/5o97oNYApY.1698639588562.json similarity index 100% rename from api/_content/query/5o97oNYApY.1698498573480.json rename to api/_content/query/5o97oNYApY.1698639588562.json diff --git a/api/_content/query/6Ma98zDOAL.1698498573480.json b/api/_content/query/6Ma98zDOAL.1698639588562.json similarity index 100% rename from api/_content/query/6Ma98zDOAL.1698498573480.json rename to api/_content/query/6Ma98zDOAL.1698639588562.json diff --git a/api/_content/query/71x6tI7TZ6.1698498573480.json b/api/_content/query/71x6tI7TZ6.1698639588562.json similarity index 100% rename from api/_content/query/71x6tI7TZ6.1698498573480.json rename to api/_content/query/71x6tI7TZ6.1698639588562.json diff --git a/api/_content/query/7iVMcekoeE.1698498573480.json b/api/_content/query/7iVMcekoeE.1698639588562.json similarity index 100% rename from api/_content/query/7iVMcekoeE.1698498573480.json rename to api/_content/query/7iVMcekoeE.1698639588562.json diff --git a/api/_content/query/M3XVXw3HJU.1698498573480.json b/api/_content/query/M3XVXw3HJU.1698639588562.json similarity index 100% rename from api/_content/query/M3XVXw3HJU.1698498573480.json rename to api/_content/query/M3XVXw3HJU.1698639588562.json diff --git a/api/_content/query/MNRZfjwhUr.1698498573480.json b/api/_content/query/MNRZfjwhUr.1698639588562.json similarity index 100% rename from api/_content/query/MNRZfjwhUr.1698498573480.json rename to api/_content/query/MNRZfjwhUr.1698639588562.json diff --git a/api/_content/query/RR98Iqj5nh.1698498573480.json b/api/_content/query/RR98Iqj5nh.1698639588562.json similarity index 100% rename from api/_content/query/RR98Iqj5nh.1698498573480.json rename to api/_content/query/RR98Iqj5nh.1698639588562.json diff --git a/api/_content/query/SeoqWQG0fS.1698498573480.json b/api/_content/query/SeoqWQG0fS.1698639588562.json similarity index 100% rename from api/_content/query/SeoqWQG0fS.1698498573480.json rename to api/_content/query/SeoqWQG0fS.1698639588562.json diff --git a/api/_content/query/T9GHEEsuxc.1698498573480.json b/api/_content/query/T9GHEEsuxc.1698639588562.json similarity index 100% rename from api/_content/query/T9GHEEsuxc.1698498573480.json rename to api/_content/query/T9GHEEsuxc.1698639588562.json diff --git a/api/_content/query/TdqgdZYwVh.1698498573480.json b/api/_content/query/TdqgdZYwVh.1698639588562.json similarity index 100% rename from api/_content/query/TdqgdZYwVh.1698498573480.json rename to api/_content/query/TdqgdZYwVh.1698639588562.json diff --git a/api/_content/query/a9mJ5sb0Ut.1698498573480.json b/api/_content/query/a9mJ5sb0Ut.1698639588562.json similarity index 100% rename from api/_content/query/a9mJ5sb0Ut.1698498573480.json rename to api/_content/query/a9mJ5sb0Ut.1698639588562.json diff --git a/api/_content/query/brX4CwCJoQ.1698498573480.json b/api/_content/query/brX4CwCJoQ.1698639588562.json similarity index 100% rename from api/_content/query/brX4CwCJoQ.1698498573480.json rename to api/_content/query/brX4CwCJoQ.1698639588562.json diff --git a/api/_content/query/cYHfkdXNA9.1698498573480.json b/api/_content/query/cYHfkdXNA9.1698639588562.json similarity index 100% rename from api/_content/query/cYHfkdXNA9.1698498573480.json rename to api/_content/query/cYHfkdXNA9.1698639588562.json diff --git a/api/_content/query/cwi4DXcuTN.1698498573480.json b/api/_content/query/cwi4DXcuTN.1698639588562.json similarity index 100% rename from api/_content/query/cwi4DXcuTN.1698498573480.json rename to api/_content/query/cwi4DXcuTN.1698639588562.json diff --git a/api/_content/query/enlVh97sWo.1698498573480.json b/api/_content/query/enlVh97sWo.1698639588562.json similarity index 100% rename from api/_content/query/enlVh97sWo.1698498573480.json rename to api/_content/query/enlVh97sWo.1698639588562.json diff --git a/api/_content/query/ilY3438huT.1698498573480.json b/api/_content/query/ilY3438huT.1698639588562.json similarity index 100% rename from api/_content/query/ilY3438huT.1698498573480.json rename to api/_content/query/ilY3438huT.1698639588562.json diff --git a/api/_content/query/llVwSUGQ8t.1698498573480.json b/api/_content/query/llVwSUGQ8t.1698639588562.json similarity index 100% rename from api/_content/query/llVwSUGQ8t.1698498573480.json rename to api/_content/query/llVwSUGQ8t.1698639588562.json diff --git a/api/_content/query/nEtvTjdOht.1698498573480.json b/api/_content/query/nEtvTjdOht.1698639588562.json similarity index 100% rename from api/_content/query/nEtvTjdOht.1698498573480.json rename to api/_content/query/nEtvTjdOht.1698639588562.json diff --git a/api/_content/query/nkLpzwYCmw.1698498573480.json b/api/_content/query/nkLpzwYCmw.1698639588562.json similarity index 100% rename from api/_content/query/nkLpzwYCmw.1698498573480.json rename to api/_content/query/nkLpzwYCmw.1698639588562.json diff --git a/api/_content/query/o37MdY9M7h.1698498573480.json b/api/_content/query/o37MdY9M7h.1698639588562.json similarity index 100% rename from api/_content/query/o37MdY9M7h.1698498573480.json rename to api/_content/query/o37MdY9M7h.1698639588562.json diff --git a/api/_content/query/qD1kmuf7LZ.1698498573480.json b/api/_content/query/qD1kmuf7LZ.1698639588562.json similarity index 100% rename from api/_content/query/qD1kmuf7LZ.1698498573480.json rename to api/_content/query/qD1kmuf7LZ.1698639588562.json diff --git a/api/_content/query/qI1iJDV4vv.1698498573480.json b/api/_content/query/qI1iJDV4vv.1698639588562.json similarity index 100% rename from api/_content/query/qI1iJDV4vv.1698498573480.json rename to api/_content/query/qI1iJDV4vv.1698639588562.json diff --git a/api/_content/query/qIaVkSSVbL.1698498573480.json b/api/_content/query/qIaVkSSVbL.1698639588562.json similarity index 100% rename from api/_content/query/qIaVkSSVbL.1698498573480.json rename to api/_content/query/qIaVkSSVbL.1698639588562.json diff --git a/api/_content/query/s1rpjBKntu.1698498573480.json b/api/_content/query/s1rpjBKntu.1698639588562.json similarity index 100% rename from api/_content/query/s1rpjBKntu.1698498573480.json rename to api/_content/query/s1rpjBKntu.1698639588562.json diff --git a/api/_content/query/udG4RswcBp.1698498573480.json b/api/_content/query/udG4RswcBp.1698639588562.json similarity index 100% rename from api/_content/query/udG4RswcBp.1698498573480.json rename to api/_content/query/udG4RswcBp.1698639588562.json diff --git a/api/_content/query/wrDfznErw4.1698498573480.json b/api/_content/query/wrDfznErw4.1698639588562.json similarity index 100% rename from api/_content/query/wrDfznErw4.1698498573480.json rename to api/_content/query/wrDfznErw4.1698639588562.json diff --git a/api/_content/query/xIJVJksIkT.1698498573480.json b/api/_content/query/xIJVJksIkT.1698639588562.json similarity index 100% rename from api/_content/query/xIJVJksIkT.1698498573480.json rename to api/_content/query/xIJVJksIkT.1698639588562.json diff --git a/api/_content/query/xWeY3NfYtX.1698498573480.json b/api/_content/query/xWeY3NfYtX.1698639588562.json similarity index 100% rename from api/_content/query/xWeY3NfYtX.1698498573480.json rename to api/_content/query/xWeY3NfYtX.1698639588562.json diff --git a/api/_content/query/y5OZXjriWq.1698498573480.json b/api/_content/query/y5OZXjriWq.1698639588562.json similarity index 100% rename from api/_content/query/y5OZXjriWq.1698498573480.json rename to api/_content/query/y5OZXjriWq.1698639588562.json diff --git a/api/_content/query/zlYjVpH9OK.1698498573480.json b/api/_content/query/zlYjVpH9OK.1698639588562.json similarity index 100% rename from api/_content/query/zlYjVpH9OK.1698498573480.json rename to api/_content/query/zlYjVpH9OK.1698639588562.json diff --git a/components/_payload.json b/components/_payload.json index 72d59d0a82..dc4ddecf5f 100644 --- a/components/_payload.json +++ b/components/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634675] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643238] \ No newline at end of file diff --git a/components/challenge-v2/_payload.json b/components/challenge-v2/_payload.json index d60aea7084..844651300c 100644 --- a/components/challenge-v2/_payload.json +++ b/components/challenge-v2/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634680] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643244] \ No newline at end of file diff --git a/components/challenge-v2/index.html b/components/challenge-v2/index.html index 6d8d328ea9..8f9f24bd92 100644 --- a/components/challenge-v2/index.html +++ b/components/challenge-v2/index.html @@ -39,63 +39,63 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV2 v2

Create invisible reCAPTCHA v2

Code
  <script setup lang="ts">  import { RecaptchaV2State } from '#recaptcha'  const map = {    [RecaptchaV2State.Init]: 'Click to Challenge',    [RecaptchaV2State.Verified]: 'Verified',    [RecaptchaV2State.Expired]: 'Expired',    [RecaptchaV2State.Error]: 'Error',  }  const response = ref()  </script>  <template>    <ChallengeV2 v-slot="{ state }" v-model="response">      <PrimaryButton>{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}</PrimaryButton>    </ChallengeV2>  </template>

Props

keytypedefaultdescription
asstring'div'What element to render
badge`'bottomright''bottomleft''inline'`
autoExecutebooleantrueShould vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

You can set modelValue to null or empty string to reset reCAPTCHA checkbox.

About the visible Badge for invisible reCAPTCHA

You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it.

.grecaptcha-badge { visibility: hidden; }

Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link

Slots

default

This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default

Slot API

interface SlotApi {  /**   * widget id   */  widgetId: WidgetID | undefined  /**   * reCAPTCHA state   */  state: RecaptchaV2State  isError: boolean  isExpired: boolean  isVerified: boolean  /**   * reset reCAPTCHA   */  reset: () => void  /**   * execute challenge   */  execute: () => void}

RecaptchaV2State

export enum RecaptchaV2State {  Init = 'init',  Verified = 'verified',  Expired = 'expired',  Error = 'error',}
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV2 v2

Create invisible reCAPTCHA v2

Code
  <script setup lang="ts">  import { RecaptchaV2State } from '#recaptcha'  const map = {    [RecaptchaV2State.Init]: 'Click to Challenge',    [RecaptchaV2State.Verified]: 'Verified',    [RecaptchaV2State.Expired]: 'Expired',    [RecaptchaV2State.Error]: 'Error',  }  const response = ref()  </script>  <template>    <ChallengeV2 v-slot="{ state }" v-model="response">      <PrimaryButton>{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}</PrimaryButton>    </ChallengeV2>  </template>

Props

keytypedefaultdescription
asstring'div'What element to render
badge`'bottomright''bottomleft''inline'`
autoExecutebooleantrueShould vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

You can set modelValue to null or empty string to reset reCAPTCHA checkbox.

About the visible Badge for invisible reCAPTCHA

You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it.

.grecaptcha-badge { visibility: hidden; }

Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link

Slots

default

This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default

Slot API

interface SlotApi {  /**   * widget id   */  widgetId: WidgetID | undefined  /**   * reCAPTCHA state   */  state: RecaptchaV2State  isError: boolean  isExpired: boolean  isVerified: boolean  /**   * reset reCAPTCHA   */  reset: () => void  /**   * execute challenge   */  execute: () => void}

RecaptchaV2State

export enum RecaptchaV2State {  Init = 'init',  Verified = 'verified',  Expired = 'expired',  Error = 'error',}
+ \ No newline at end of file diff --git a/components/challenge-v3/_payload.json b/components/challenge-v3/_payload.json index ba88fe6e5c..7374903bb4 100644 --- a/components/challenge-v3/_payload.json +++ b/components/challenge-v3/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634794] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643352] \ No newline at end of file diff --git a/components/challenge-v3/index.html b/components/challenge-v3/index.html index 75a8297e7f..d9265d2f93 100644 --- a/components/challenge-v3/index.html +++ b/components/challenge-v3/index.html @@ -39,61 +39,61 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV3 v3

Create reCAPTCHA v3 challenge

Code
  <script lang="ts" setup>  const response = ref()  </script>  <template>    <div>      <ChallengeV3 v-model="response" action="submit">        <PrimaryButton>{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}</PrimaryButton>      </ChallengeV3>    </div>  </template>

Props

keytypedefaultdescription
actionstringThe action for reCAPTCHA v3
asstring'div'What element to render
autoExecutebooleantrueShould vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot

v-model

keytypedescription
modelValuestringThe reCAPTCHA response

Slots

default

This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default

Slot API

interface SlotApi {  /**   * reCAPTCHA v3 response   */  response: string | undefined  /**   * execute reCAPTCHA v3 challenge   */  execute: () => Promise<string>}
Table of Contents
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

ChallengeV3 v3

Create reCAPTCHA v3 challenge

Code
  <script lang="ts" setup>  const response = ref()  </script>  <template>    <div>      <ChallengeV3 v-model="response" action="submit">        <PrimaryButton>{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}</PrimaryButton>      </ChallengeV3>    </div>  </template>

Props

keytypedefaultdescription
actionstringThe action for reCAPTCHA v3
asstring'div'What element to render
autoExecutebooleantrueShould vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot

v-model

keytypedescription
modelValuestringThe reCAPTCHA response

Slots

default

This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default

Slot API

interface SlotApi {  /**   * reCAPTCHA v3 response   */  response: string | undefined  /**   * execute reCAPTCHA v3 challenge   */  execute: () => Promise<string>}
Table of Contents
+ \ No newline at end of file diff --git a/components/checkbox/_payload.json b/components/checkbox/_payload.json index 4e2f3e1d8c..ee8cb436ca 100644 --- a/components/checkbox/_payload.json +++ b/components/checkbox/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634677] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643241] \ No newline at end of file diff --git a/components/checkbox/index.html b/components/checkbox/index.html index 6922922aec..4d92d9454b 100644 --- a/components/checkbox/index.html +++ b/components/checkbox/index.html @@ -38,62 +38,62 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Checkbox v2

Insert reCAPTCHA v2 checkbox

Please click the checkbox
Code
  <script setup lang="ts">  const theme = ref<'light' | 'dark'>('light')  const response = ref()  </script>  <template>    <div>      <ThemeButton v-model="theme" @click="response = ''" />      <div>{{ response ? 'Verified' : 'Please click the checkbox' }}</div>      <Checkbox :key="theme" v-model="response" :theme="theme" />    </div>  </template>

Props

keytypedefaultdescription
asstring'div'What element to render
theme'light' | 'dark''light'Theme for reCAPTCHA checkbox
size'normal' | 'compact''normal'Size for the reCAPTCHA checkbox

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

You can set modelValue to null or empty string to reset reCAPTCHA checkbox.

- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Checkbox v2

Insert reCAPTCHA v2 checkbox

Please click the checkbox
Code
  <script setup lang="ts">  const theme = ref<'light' | 'dark'>('light')  const response = ref()  </script>  <template>    <div>      <ThemeButton v-model="theme" @click="response = ''" />      <div>{{ response ? 'Verified' : 'Please click the checkbox' }}</div>      <Checkbox :key="theme" v-model="response" :theme="theme" />    </div>  </template>

Props

keytypedefaultdescription
asstring'div'What element to render
theme'light' | 'dark''light'Theme for reCAPTCHA checkbox
size'normal' | 'compact''normal'Size for the reCAPTCHA checkbox

v-model

keytypedescription
modelValuestringThe reCAPTCHA response
widgetIdstringWidget id for reCAPTCHA checkbox

About modelValue

You can set modelValue to null or empty string to reset reCAPTCHA checkbox.

+ \ No newline at end of file diff --git a/components/index.html b/components/index.html index d6e4f199a1..4353a993cf 100644 --- a/components/index.html +++ b/components/index.html @@ -31,51 +31,51 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Overview

Checkbox v2

The most basic form of the reCAPTCHA

Code
<template>  <Checkbox /></template>
Go to document

ChallengeV2 v2

Invisible reCAPTCHA.

Go to document

ChallengeV3 v3

reCAPTCHA v3

Go to document
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Overview

Checkbox v2

The most basic form of the reCAPTCHA

Code
<template>  <Checkbox /></template>
Go to document

ChallengeV2 v2

Invisible reCAPTCHA.

Go to document

ChallengeV3 v3

reCAPTCHA v3

Go to document
+ \ No newline at end of file diff --git a/composables/challenge-v2/_payload.json b/composables/challenge-v2/_payload.json index 53e29801b5..82a8b8d4bf 100644 --- a/composables/challenge-v2/_payload.json +++ b/composables/challenge-v2/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498635388] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643949] \ No newline at end of file diff --git a/composables/challenge-v2/index.html b/composables/challenge-v2/index.html index 27cfa5f24a..724bfdf1a8 100644 --- a/composables/challenge-v2/index.html +++ b/composables/challenge-v2/index.html @@ -30,47 +30,47 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV2 v2

Description

A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA

Input

interface RecaptchaV2CheckboxOptionsInput {  theme?: 'dark' | 'light'  size?: 'compact' | 'normal'  tabindex?: string}interface RecaptchaV2InvisibleOptionsInput {  badge?: 'bottomright' | 'bottomleft' | 'inline'  size: 'invisible'  tabindex?: string}export interface UseChallengeV2Input {  /**   * root to mount reCAPTCHA   */  root?: MaybeComputedRef<Element | undefined>  /**   * Option that pass to reCAPTCHA render   */  options?: RecaptchaV2OptionsInput}

Return

export interface UseChallengeV2Return {  /**   * root element ref to mount reCAPTCHA   */  root: Ref<Element | undefined>  /**   * reCAPTCHA widget id   */  widgetID: Ref<WidgetID | undefined>  /**   * state of reCAPTCHA   */  state: Ref<RecaptchaV2State>  /**   * the verified event   */  onVerify: EventHookOn<string>  /**   * the expired event   */  onExpired: EventHookOn<void>  /**   * the error event   */  onError: EventHookOn<Error>  /**   * execute the challenge   */  execute: () => void  /**   * reset reCAPTCHA   */  reset: () => void}

About the state please see here for more details

Please see reCAPTCHA docs for more information about the options.

About the visible Badge for invisible reCAPTCHA

You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it.

.grecaptcha-badge { visibility: hidden; }

Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link

Examples

Checkbox

<script>import { useChallengeV2 } from 'vue-recaptcha'const { root, onVerify } = useChallengeV2({  options: {    theme: 'light',    size: 'normal',  }})onVerify((response) => {  // do something with response  console.log(response)})</script><template>  <div ref="root" /></template>

Invisible reCAPTCHA

<script>import { useChallengeV2 } from 'vue-recaptcha'const { root, execute, onVerify } = useChallengeV2({  options: {    // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA    size: 'invisible',  }})onVerify((response) => {  // do something with response  console.log(response)})</script><template>  <div>    <button @click="execute">submit</button>    <!-- You must give an empty div to render the invisible reCAPTCHA -->    <div ref="root" />  </div></template>
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV2 v2

Description

A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA

Input

interface RecaptchaV2CheckboxOptionsInput {  theme?: 'dark' | 'light'  size?: 'compact' | 'normal'  tabindex?: string}interface RecaptchaV2InvisibleOptionsInput {  badge?: 'bottomright' | 'bottomleft' | 'inline'  size: 'invisible'  tabindex?: string}export interface UseChallengeV2Input {  /**   * root to mount reCAPTCHA   */  root?: MaybeComputedRef<Element | undefined>  /**   * Option that pass to reCAPTCHA render   */  options?: RecaptchaV2OptionsInput}

Return

export interface UseChallengeV2Return {  /**   * root element ref to mount reCAPTCHA   */  root: Ref<Element | undefined>  /**   * reCAPTCHA widget id   */  widgetID: Ref<WidgetID | undefined>  /**   * state of reCAPTCHA   */  state: Ref<RecaptchaV2State>  /**   * the verified event   */  onVerify: EventHookOn<string>  /**   * the expired event   */  onExpired: EventHookOn<void>  /**   * the error event   */  onError: EventHookOn<Error>  /**   * execute the challenge   */  execute: () => void  /**   * reset reCAPTCHA   */  reset: () => void}

About the state please see here for more details

Please see reCAPTCHA docs for more information about the options.

About the visible Badge for invisible reCAPTCHA

You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it.

.grecaptcha-badge { visibility: hidden; }

Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link

Examples

Checkbox

<script>import { useChallengeV2 } from 'vue-recaptcha'const { root, onVerify } = useChallengeV2({  options: {    theme: 'light',    size: 'normal',  }})onVerify((response) => {  // do something with response  console.log(response)})</script><template>  <div ref="root" /></template>

Invisible reCAPTCHA

<script>import { useChallengeV2 } from 'vue-recaptcha'const { root, execute, onVerify } = useChallengeV2({  options: {    // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA    size: 'invisible',  }})onVerify((response) => {  // do something with response  console.log(response)})</script><template>  <div>    <button @click="execute">submit</button>    <!-- You must give an empty div to render the invisible reCAPTCHA -->    <div ref="root" />  </div></template>
+ \ No newline at end of file diff --git a/composables/challenge-v3/_payload.json b/composables/challenge-v3/_payload.json index 926120a575..498c4a6f13 100644 --- a/composables/challenge-v3/_payload.json +++ b/composables/challenge-v3/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498635390] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643952] \ No newline at end of file diff --git a/composables/challenge-v3/index.html b/composables/challenge-v3/index.html index 964ddbadeb..8e70b4d76f 100644 --- a/composables/challenge-v3/index.html +++ b/composables/challenge-v3/index.html @@ -31,48 +31,48 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV3 v3

Description

A composable to help you execute the reCAPTCHA v3 challenge

Input

  • action: The action for reCAPTCHA v3

Return

export interface UseChallengeV3Return {  /**   * reCAPTCHA v3 response as ref   */  response: Ref<string | undefined>  /**   * Execute the challenge   * @returns response for reCAPTCHA v3   */  execute: () => Promise<string>}

Usage

<script lang="ts" setup>import { useChallengeV3 } from 'vue-recaptcha'const { execute } = useChallengeV3('submit')async function onSubmit () {  const response = await execute()  // do something with response  console.log(response)}</script><template>  <div>    <button @click="onSubmit">submit</button>  </div></template>
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

useChallengeV3 v3

Description

A composable to help you execute the reCAPTCHA v3 challenge

Input

  • action: The action for reCAPTCHA v3

Return

export interface UseChallengeV3Return {  /**   * reCAPTCHA v3 response as ref   */  response: Ref<string | undefined>  /**   * Execute the challenge   * @returns response for reCAPTCHA v3   */  execute: () => Promise<string>}

Usage

<script lang="ts" setup>import { useChallengeV3 } from 'vue-recaptcha'const { execute } = useChallengeV3('submit')async function onSubmit () {  const response = await execute()  // do something with response  console.log(response)}</script><template>  <div>    <button @click="onSubmit">submit</button>  </div></template>
+ \ No newline at end of file diff --git a/composables/recaptcha-provider/_payload.json b/composables/recaptcha-provider/_payload.json index 7632f3374a..e14bf99fce 100644 --- a/composables/recaptcha-provider/_payload.json +++ b/composables/recaptcha-provider/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498635384] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643940] \ No newline at end of file diff --git a/composables/recaptcha-provider/index.html b/composables/recaptcha-provider/index.html index 1557968755..7c2ceb18cc 100644 --- a/composables/recaptcha-provider/index.html +++ b/composables/recaptcha-provider/index.html @@ -27,44 +27,44 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

useRecaptchaProvider

The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.

Code
<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script>
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

useRecaptchaProvider

The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.

Code
<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script>
+ \ No newline at end of file diff --git a/guide/_payload.json b/guide/_payload.json index 49ab510df6..373289d1c4 100644 --- a/guide/_payload.json +++ b/guide/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634296] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639642919] \ No newline at end of file diff --git a/guide/enterprise/_payload.json b/guide/enterprise/_payload.json index 8fb4bca29f..31f4c5e575 100644 --- a/guide/enterprise/_payload.json +++ b/guide/enterprise/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634669] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643233] \ No newline at end of file diff --git a/guide/enterprise/index.html b/guide/enterprise/index.html index f1fe63efb3..868af9baca 100644 --- a/guide/enterprise/index.html +++ b/guide/enterprise/index.html @@ -24,49 +24,49 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Enterprise reCAPTCHA Support

Enterprise version support is experimental and may be changed in the future.

Simply change your plugin import to the following:

import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'const app = createApp(App)app.use(VueRecaptchaPlugin)

Usage without unhead

If you are not using unhead and want to use the enterprise version, you can use the following code:

import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'const app = createApp(App)app.use(VueRecaptchaPlugin)

Nuxt

If you are using Nuxt, you can set the recaptcha.enterprise option to true:

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    enterprise: true,  },})
Table of Contents
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Enterprise reCAPTCHA Support

Enterprise version support is experimental and may be changed in the future.

Simply change your plugin import to the following:

import VueRecaptchaPlugin from 'vue-recaptcha/enterprise'const app = createApp(App)app.use(VueRecaptchaPlugin)

Usage without unhead

If you are not using unhead and want to use the enterprise version, you can use the following code:

import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head'const app = createApp(App)app.use(VueRecaptchaPlugin)

Nuxt

If you are using Nuxt, you can set the recaptcha.enterprise option to true:

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    enterprise: true,  },})
Table of Contents
+ \ No newline at end of file diff --git a/guide/faq/_payload.json b/guide/faq/_payload.json index 54c699a067..1ab5e0b7d2 100644 --- a/guide/faq/_payload.json +++ b/guide/faq/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634672] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643236] \ No newline at end of file diff --git a/guide/faq/index.html b/guide/faq/index.html index 4f014fbfcb..c625f6fb93 100644 --- a/guide/faq/index.html +++ b/guide/faq/index.html @@ -26,43 +26,43 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development
+ \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index 951d8779c4..8614d4c438 100644 --- a/guide/index.html +++ b/guide/index.html @@ -33,51 +33,51 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Get started

From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide

Let's get started with vue-recaptcha.

What is vue-recaptcha

vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA

  • component that is easy to use
  • composable to integrate into your own app

vue-recaptcha is not for:

  • customize reCAPTCHA UI
  • provide features that is not implemented by Google reCATPCHA, like change language on the fly

Installation

Bash
$yarn add vue-recaptcha@next
Click to copy
Bash
$npm install vue-recaptcha@next
Click to copy
Bash
$pnpm add vue-recaptcha@next
Click to copy

Setup vue-recaptcha plugin

By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head, please check out Usage without unhead
import { VueRecaptchaPlugin } from 'vue-recaptcha'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_V2_SITEKEY_HERE',  v3SiteKey: 'YOUR_V3_SITEKEY_HERE',})

Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one

Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey

In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey

If you did't provide the corresponding site key, you'll get a runtime error

Provide reCAPTCHA script

To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue

<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script><template>  <div id="app">    <router-view />  </div></template>

That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components

Go to component overview

Usage without unhead

If you are not using @unhead/vue or @vueuse/head, you can simply import the plugin from vue-recaptcha/head

import { VueRecaptchaPlugin } from 'vue-recaptcha/head'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_V2_SITEKEY_HERE',  v3SiteKey: 'YOUR_V3_SITEKEY_HERE',})

With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head

- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Get started

From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide

Let's get started with vue-recaptcha.

What is vue-recaptcha

vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA

  • component that is easy to use
  • composable to integrate into your own app

vue-recaptcha is not for:

  • customize reCAPTCHA UI
  • provide features that is not implemented by Google reCATPCHA, like change language on the fly

Installation

Bash
$yarn add vue-recaptcha@next
Click to copy
Bash
$npm install vue-recaptcha@next
Click to copy
Bash
$pnpm add vue-recaptcha@next
Click to copy

Setup vue-recaptcha plugin

By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head, please check out Usage without unhead
import { VueRecaptchaPlugin } from 'vue-recaptcha'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_V2_SITEKEY_HERE',  v3SiteKey: 'YOUR_V3_SITEKEY_HERE',})

Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one

Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey

In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey

If you did't provide the corresponding site key, you'll get a runtime error

Provide reCAPTCHA script

To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue

<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script><template>  <div id="app">    <router-view />  </div></template>

That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components

Go to component overview

Usage without unhead

If you are not using @unhead/vue or @vueuse/head, you can simply import the plugin from vue-recaptcha/head

import { VueRecaptchaPlugin } from 'vue-recaptcha/head'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_V2_SITEKEY_HERE',  v3SiteKey: 'YOUR_V3_SITEKEY_HERE',})

With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head

+ \ No newline at end of file diff --git a/guide/migration/_payload.json b/guide/migration/_payload.json index b32b8e01e8..3479eed2d0 100644 --- a/guide/migration/_payload.json +++ b/guide/migration/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634666] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643230] \ No newline at end of file diff --git a/guide/migration/index.html b/guide/migration/index.html index a7a25f71d9..366dd39c08 100644 --- a/guide/migration/index.html +++ b/guide/migration/index.html @@ -24,49 +24,49 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Migration from v2

1. set up the plugin

V3 need you to set up a Vue plugin before start using.

import { VueRecaptchaPlugin } from 'vue-recaptcha'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_SITE_KEY_HERE'})

2. Provide reCAPTCHA script

To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue

<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script>

3. Use the components

Now you can start using the components

If you are using the "I'm not a robot" checkbox, please use the <Checkbox />

<template>  <Checkbox v-model="response" /></template>

You can read more at here

If you are using the invisible reCAPTCHA, please use the <ChallengeV2 />

<template>  <ChallengeV2 v-model="response">    <button>submit</button>  </ChallengeV2></template>

You can read more at here

- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Migration from v2

1. set up the plugin

V3 need you to set up a Vue plugin before start using.

import { VueRecaptchaPlugin } from 'vue-recaptcha'const app = createApp(App)app.use(VueRecaptchaPlugin, {  v2SiteKey: 'YOUR_SITE_KEY_HERE'})

2. Provide reCAPTCHA script

To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue

<script setup lang="ts">import { useRecaptchaProvider } from 'vue-recaptcha'useRecaptchaProvider()</script>

3. Use the components

Now you can start using the components

If you are using the "I'm not a robot" checkbox, please use the <Checkbox />

<template>  <Checkbox v-model="response" /></template>

You can read more at here

If you are using the invisible reCAPTCHA, please use the <ChallengeV2 />

<template>  <ChallengeV2 v-model="response">    <button>submit</button>  </ChallengeV2></template>

You can read more at here

+ \ No newline at end of file diff --git a/guide/nuxt/_payload.json b/guide/nuxt/_payload.json index 4b57ab1223..04e1f00eb7 100644 --- a/guide/nuxt/_payload.json +++ b/guide/nuxt/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498634663] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643227] \ No newline at end of file diff --git a/guide/nuxt/index.html b/guide/nuxt/index.html index 4535953d04..d54dd6c63a 100644 --- a/guide/nuxt/index.html +++ b/guide/nuxt/index.html @@ -34,52 +34,52 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Nuxt

When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs.

vue-recaptcha supports Nuxt.js out of the box.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],})
Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components
Original nameRenamed to
CheckboxRecaptchaCheckbox
ChallengeV2RecaptchaChallengeV2
ChallengeV3RecaptchaChallengeV3

Options

You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },})

Enterprise

If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support.

Enterprise version support is experimental and may be changed in the future.
defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    enterprise: true,  },})

Manually Install Plugin

If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    plugin: false,  },})

Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory.

import VueRecaptchaPlugin from 'vue-recaptcha'export default defineNuxtPlugin(({ vueApp }) => {  const {    public: { recaptcha },  } = useRuntimeConfig()  vueApp.use(VueRecaptchaPlugin, recaptcha)})
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Nuxt

When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs.

vue-recaptcha supports Nuxt.js out of the box.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],})
Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components
Original nameRenamed to
CheckboxRecaptchaCheckbox
ChallengeV2RecaptchaChallengeV2
ChallengeV3RecaptchaChallengeV3

Options

You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },})

Enterprise

If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support.

Enterprise version support is experimental and may be changed in the future.
defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    enterprise: true,  },})

Manually Install Plugin

If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file.

defineNuxtConfig({  modules: ['vue-recaptcha/nuxt'],  runtimeConfig: {    public: {      recaptcha: {        v2SiteKey: 'YOUR_V2_SITEKEY_HERE',        v3SiteKey: 'YOUR_V3_SITEKEY_HERE',      },    },  },  recaptcha: {    plugin: false,  },})

Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory.

import VueRecaptchaPlugin from 'vue-recaptcha'export default defineNuxtPlugin(({ vueApp }) => {  const {    public: { recaptcha },  } = useRuntimeConfig()  vueApp.use(VueRecaptchaPlugin, recaptcha)})
+ \ No newline at end of file diff --git a/index.html b/index.html index 77a399338b..03538ecb6d 100644 --- a/index.html +++ b/index.html @@ -27,31 +27,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -60,28 +60,28 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

vue-recaptcha

Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js

Bash
$yarn add vue-recaptcha@next
Click to copy

Easy to use

Use <Checkbox /> to render reCAPTCHA checkbox

Code
  <template>    <Checkbox />  </template>

What's included

reCAPTCHA v2

The "I'm not a robot" checkbox

reCAPTCHA v3

Determinate if user is human without interrupt the user flow

Nuxt integration

Use reCAPTCHA in Nuxt.js

- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

vue-recaptcha

Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js

Bash
$yarn add vue-recaptcha@next
Click to copy

Easy to use

Use <Checkbox /> to render reCAPTCHA checkbox

Code
  <template>    <Checkbox />  </template>

What's included

reCAPTCHA v2

The "I'm not a robot" checkbox

reCAPTCHA v3

Determinate if user is human without interrupt the user flow

Nuxt integration

Use reCAPTCHA in Nuxt.js

+ \ No newline at end of file diff --git a/integration/vee-validation/_payload.json b/integration/vee-validation/_payload.json index e30f74e866..4321c6eb59 100644 --- a/integration/vee-validation/_payload.json +++ b/integration/vee-validation/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698498635402] \ No newline at end of file +[{"data":1,"prerenderedAt":134},["Reactive",2],{"search-api":3},[4,11,21,31,40,46,55,64,74,83,90,98,108,115,124],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","vue-recaptcha document",[]," vue-recaptcha Make Google's reCAPTCHA easy to use in Vue.js/Nuxt.js \u003C template > \u003C Checkbox /> \u003C/ template > What's included reCAPTCHA v2 The \"I'm not a robot\" checkbox reCAPTCHA v3 Determinate if user is human without interrupt the user flow Nuxt integration Use reCAPTCHA in Nuxt.js html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":12,"path":13,"dir":7,"title":14,"description":7,"keywords":15,"body":20},"content:1.guide:0.index.md","/guide","Get started",[16,17,18,19],"Installation","Setup vue-recaptcha plugin","Provide reCAPTCHA script","Usage without unhead"," Get started From vue-recaptcha v2? v3 is a complete rewrite, please check out migration guide Let's get started with vue-recaptcha. What is vue-recaptcha vue-recaptcha is just a wrapper to provide an easier interface for Google's reCAPTCHA component that is easy to use composable to integrate into your own app vue-recaptcha is not for: customize reCAPTCHA UI provide features that is not implemented by Google reCATPCHA, like change language on the fly Installation Setup vue-recaptcha plugin By default, vue-recaptcha use @unhead/vue to inject the reCAPTCHA script, if you are not using @unhead/vue or @vueuse/head , please check out Usage without unhead import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) Please replace YOUR_V2_SITEKEY_HERE and YOUR_V3_SITEKEY_HERE with your keys. If you don't have one, please go to here and apply one Not both of the sitekey is required, if you only need reCAPTCHA v2, just provide the v2SiteKey In this document, if you see v2 which means you'll need to pass v2SiteKey and v3 means you'll need v3SiteKey If you did't provide the corresponding site key, you'll get a runtime error Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > \u003C template > \u003C div id = \"app\" > \u003C router-view /> \u003C/ div > \u003C/ template > That's all, now you can start using vue-recaptcha. Please see components for quick introduce for all of the components Go to component overview Usage without unhead If you are not using @unhead/vue or @vueuse/head , you can simply import the plugin from vue-recaptcha/head import { VueRecaptchaPlugin } from 'vue-recaptcha/head' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }) With this version, it will inject the reCAPTCHA script by simply creating a script tag in document head html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":22,"path":23,"dir":24,"title":25,"description":7,"keywords":26,"body":30},"content:1.guide:1.nuxt.md","/guide/nuxt","guide","Nuxt",[27,28,29],"Options","Enterprise","Manually Install Plugin"," Nuxt When using vue-recaptcha in Nuxt, please try to utilize Nuxt's auto import feature as much as possible to avoid potential bugs. vue-recaptcha supports Nuxt.js out of the box. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], }) Please noticed that to prevent from conflict with your components, vue-recaptcha's Nuxt integration has renaming the following components Original name Renamed to Checkbox RecaptchaCheckbox ChallengeV2 RecaptchaChallengeV2 ChallengeV3 RecaptchaChallengeV3 Options You can pass options to the module by adding a recaptcha key to your nuxt.config.js file in runtimeConfig.public . defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, }) Enterprise If you are using reCAPTCHA Enterprise, you can use the recaptcha key in nuxt.config to enable the enterprise version support. Enterprise version support is experimental and may be changed in the future. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) Manually Install Plugin If you want to take full control of the plugin, you can manually install the plugin by adding the following code to your nuxt.config.js file. defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { plugin: false , }, }) Then you will need to manually set up the plugin by creating a file named recaptcha.ts in your plugins directory. import VueRecaptchaPlugin from 'vue-recaptcha' export default defineNuxtPlugin (({ vueApp }) => { const { public : { recaptcha }, } = useRuntimeConfig () vueApp. use (VueRecaptchaPlugin, recaptcha) }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":32,"path":33,"dir":24,"title":34,"description":7,"keywords":35,"body":39},"content:1.guide:2.migration.md","/guide/migration","Migration from v2",[36,37,38],"1. set up the plugin","2. Provide reCAPTCHA script","3. Use the components"," Migration from v2 1. set up the plugin V3 need you to set up a Vue plugin before start using. import { VueRecaptchaPlugin } from 'vue-recaptcha' const app = createApp (App) app. use (VueRecaptchaPlugin, { v2SiteKey: 'YOUR_SITE_KEY_HERE' }) 2. Provide reCAPTCHA script To load the reCAPTCHA script, you will need to call useRecaptchaProvider in your app.vue \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > 3. Use the components Now you can start using the components If you are using the \"I'm not a robot\" checkbox, please use the \u003CCheckbox /> \u003C template > \u003C Checkbox v-model = \"response\" /> \u003C/ template > You can read more at here If you are using the invisible reCAPTCHA, please use the \u003CChallengeV2 /> \u003C template > \u003C ChallengeV2 v-model = \"response\" > \u003C button >submit\u003C/ button > \u003C/ ChallengeV2 > \u003C/ template > You can read more at here html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":41,"path":42,"dir":24,"title":43,"description":7,"keywords":44,"body":45},"content:1.guide:3.enterprise.md","/guide/enterprise","Enterprise reCAPTCHA Support",[19,25]," Enterprise reCAPTCHA Support Enterprise version support is experimental and may be changed in the future. Simply change your plugin import to the following: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise' const app = createApp (App) app. use (VueRecaptchaPlugin) Usage without unhead If you are not using unhead and want to use the enterprise version, you can use the following code: import VueRecaptchaPlugin from 'vue-recaptcha/enterprise-head' const app = createApp (App) app. use (VueRecaptchaPlugin) Nuxt If you are using Nuxt, you can set the recaptcha.enterprise option to true : defineNuxtConfig ({ modules: [ 'vue-recaptcha/nuxt' ], runtimeConfig: { public: { recaptcha: { v2SiteKey: 'YOUR_V2_SITEKEY_HERE' , v3SiteKey: 'YOUR_V3_SITEKEY_HERE' , }, }, }, recaptcha: { enterprise: true , }, }) html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":47,"path":48,"dir":24,"title":49,"description":7,"keywords":50,"body":54},"content:1.guide:4.faq.md","/guide/faq","FAQ",[51,52,53],"What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded\"?","How to test vue-recaptcha?","How about an e2e testing (or integration testing)?"," FAQ What is \"ReCAPTCHA couldn't find user-provided function: __vueRecaptchaLoaded \"? It's because google's recaptcha have been loaded before your app. You can simply ignore it because vue-recaptcha can still detect and render recaptcha. If you care about this, try to move the script tag of recatpcha after to your app. How to test vue-recaptcha? You can mock window.grecaptcha to bypass google's recaptcha. How about an e2e testing (or integration testing)? Please reference to recaptcha's FAQ .",{"id":56,"path":57,"dir":7,"title":58,"description":7,"keywords":59,"body":63},"content:2.components:0.index.md","/components","Overview",[60,61,62],"Checkbox v2","ChallengeV2 v2","ChallengeV3 v3"," Overview Checkbox v2 The most basic form of the reCAPTCHA \u003C template > \u003C Checkbox /> \u003C/ template > Go to document ChallengeV2 v2 Invisible reCAPTCHA. Go to document ChallengeV3 v3 reCAPTCHA v3 Go to document html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":65,"path":66,"dir":67,"title":68,"description":69,"keywords":70,"body":73},"content:2.components:1.checkbox.md","/components/checkbox","components","Checkbox","Insert reCAPTCHA v2 checkbox",[71,72],"Props","v-model"," Checkbox v2 Insert reCAPTCHA v2 checkbox \u003C script setup lang = \"ts\" > const theme = ref \u003C 'light' | 'dark' >( 'light' ) const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ThemeButton v-model = \"theme\" @click = \"response = ''\" /> \u003C div >{{ response ? 'Verified' : 'Please click the checkbox' }}\u003C/ div > \u003C Checkbox :key = \"theme\" v-model = \"response\" :theme = \"theme\" /> \u003C/ div > \u003C/ template > Props key type default description as string 'div' What element to render theme 'light' | 'dark' 'light' Theme for reCAPTCHA checkbox size 'normal' | 'compact' 'normal' Size for the reCAPTCHA checkbox v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":75,"path":76,"dir":67,"title":77,"description":78,"keywords":79,"body":82},"content:2.components:2.challenge-v2.md","/components/challenge-v2","ChallengeV2","Create invisible reCAPTCHA v2",[71,72,80,81],"About the visible Badge for invisible reCAPTCHA","Slots"," ChallengeV2 v2 Create invisible reCAPTCHA v2 \u003C script setup lang = \"ts\" > import { RecaptchaV2State } from '#recaptcha' const map = { [RecaptchaV2State.Init]: 'Click to Challenge' , [RecaptchaV2State.Verified]: 'Verified' , [RecaptchaV2State.Expired]: 'Expired' , [RecaptchaV2State.Error]: 'Error' , } const response = ref () \u003C/ script > \u003C template > \u003C ChallengeV2 v-slot = \"{ state }\" v-model = \"response\" > \u003C PrimaryButton >{{ map[state] }}{{ response ? ` ${response.slice(0, 6)}...` : '' }}\u003C/ PrimaryButton > \u003C/ ChallengeV2 > \u003C/ template > Props key type default description as string 'div' What element to render badge `'bottomright' 'bottomleft' 'inline'` autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response widgetId string Widget id for reCAPTCHA checkbox About modelValue You can set modelValue to null or empty string to reset reCAPTCHA checkbox. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV2 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * widget id */ widgetId : WidgetID | undefined /** * reCAPTCHA state */ state : RecaptchaV2State isError : boolean isExpired : boolean isVerified : boolean /** * reset reCAPTCHA */ reset : () => void /** * execute challenge */ execute : () => void } RecaptchaV2State export enum RecaptchaV2State { Init = 'init' , Verified = 'verified' , Expired = 'expired' , Error = 'error' , } flowchart TD\nInit -->|Challenge| Verified\nInit -->|Challenge| Error\nVerified -->|Challenge expired| Expired\nError -->|Reset| Init\nVerified -->|Reset| Init\nExpired -->|Reset| Init html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":84,"path":85,"dir":67,"title":86,"description":87,"keywords":88,"body":89},"content:2.components:3.challenge-v3.md","/components/challenge-v3","ChallengeV3","Create reCAPTCHA v3 challenge",[71,72,81]," ChallengeV3 v3 Create reCAPTCHA v3 challenge \u003C script lang = \"ts\" setup > const response = ref () \u003C/ script > \u003C template > \u003C div > \u003C ChallengeV3 v-model = \"response\" action = \"submit\" > \u003C PrimaryButton >{{ response ? `Get response: ${response.slice(0, 6)}...` : 'click me' }}\u003C/ PrimaryButton > \u003C/ ChallengeV3 > \u003C/ div > \u003C/ template > Props key type default description action string The action for reCAPTCHA v3 as string 'div' What element to render autoExecute boolean true Should vue-recaptcha execute challenge on click, if you set it to false you'll need to call the execute method in the slot v-model key type description modelValue string The reCAPTCHA response Slots default This is the position that usually place a your submit button. When click on the content, ChallengeV3 will automatically execute the reCAPTCHA challenge by default Slot API interface SlotApi { /** * reCAPTCHA v3 response */ response : string | undefined /** * execute reCAPTCHA v3 challenge */ execute : () => Promise \u003C string > } html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":91,"path":92,"dir":93,"title":94,"description":95,"keywords":96,"body":97},"content:3.composables:0.recaptcha-provider.md","/composables/recaptcha-provider","composables","useRecaptchaProvider","The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work.",[]," useRecaptchaProvider The function that setup the required scripts for reCAPTCHA. It must be called in your app, or vue-recaptcha won't work. \u003C script setup lang = \"ts\" > import { useRecaptchaProvider } from 'vue-recaptcha' useRecaptchaProvider () \u003C/ script > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":99,"path":100,"dir":93,"title":101,"description":7,"keywords":102,"body":107},"content:3.composables:1.challenge-v2.md","/composables/challenge-v2","useChallengeV2",[103,104,105,80,106],"Description","Input","Return","Examples"," useChallengeV2 v2 Description A composable to help you mount the reCAPTCHA checkbox or invisible reCAPTCHA Input interface RecaptchaV2CheckboxOptionsInput { theme ?: 'dark' | 'light' size ?: 'compact' | 'normal' tabindex ?: string } interface RecaptchaV2InvisibleOptionsInput { badge ?: 'bottomright' | 'bottomleft' | 'inline' size : 'invisible' tabindex ?: string } export interface UseChallengeV2Input { /** * root to mount reCAPTCHA */ root ?: MaybeComputedRef \u003C Element | undefined > /** * Option that pass to reCAPTCHA render */ options ?: RecaptchaV2OptionsInput } Return export interface UseChallengeV2Return { /** * root element ref to mount reCAPTCHA */ root : Ref \u003C Element | undefined > /** * reCAPTCHA widget id */ widgetID : Ref \u003C WidgetID | undefined > /** * state of reCAPTCHA */ state : Ref \u003C RecaptchaV2State > /** * the verified event */ onVerify : EventHookOn \u003C string > /** * the expired event */ onExpired : EventHookOn \u003C void > /** * the error event */ onError : EventHookOn \u003C Error > /** * execute the challenge */ execute : () => void /** * reset reCAPTCHA */ reset : () => void } About the state please see here for more details Please see reCAPTCHA docs for more information about the options. About the visible Badge for invisible reCAPTCHA You should be able to see the reCAPTCHA badge in the bottom right corner of this page. It is a mark displayed by Google when you use invisible reCAPTCHA. You can add the following CSS code to hide it. .grecaptcha-badge { visibility : hidden ; } Please note that, according to Google's requirements, you will need to explicitly state that you are using reCAPTCHA. For more information, you can refer to this link Examples Checkbox \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , onVerify } = useChallengeV2 ({ options: { theme: 'light' , size: 'normal' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div ref = \"root\" / > \u003C/ template > Invisible reCAPTCHA \u003C script > import { useChallengeV2 } from 'vue-recaptcha' const { root , execute , onVerify } = useChallengeV2 ({ options: { // It's important to pass `size: 'invisible'` to render a invisible reCAPTCHA size: 'invisible' , } }) onVerify (( response ) => { // do something with response console. log (response) }) \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"execute\" >submit\u003C/ button > \u003C!-- You must give an empty div to render the invisible reCAPTCHA --> \u003C div ref = \"root\" / > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":109,"path":110,"dir":93,"title":111,"description":7,"keywords":112,"body":114},"content:3.composables:2.challenge-v3.md","/composables/challenge-v3","useChallengeV3",[103,104,105,113],"Usage"," useChallengeV3 v3 Description A composable to help you execute the reCAPTCHA v3 challenge Input action : The action for reCAPTCHA v3 Return export interface UseChallengeV3Return { /** * reCAPTCHA v3 response as ref */ response : Ref \u003C string | undefined > /** * Execute the challenge * @returns response for reCAPTCHA v3 */ execute : () => Promise \u003C string > } Usage \u003C script lang = \"ts\" setup > import { useChallengeV3 } from 'vue-recaptcha' const { execute } = useChallengeV3 ( 'submit' ) async function onSubmit () { const response = await execute () // do something with response console. log (response) } \u003C/ script > \u003C template > \u003C div > \u003C button @click = \"onSubmit\" >submit\u003C/ button > \u003C/ div > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":116,"path":117,"dir":118,"title":119,"description":120,"keywords":121,"body":123},"content:4.advanced:0.customize-recaptcha-script-loading.md","/advanced/customize-recaptcha-script-loading","advanced","Customize reCAPTCHA script loading","By default vue-recaptcha will use unhead to load the reCAPTCHA script.",[122],"The defineScriptLoader function and ScriptLoaderOptions"," Customize reCAPTCHA script loading By default vue-recaptcha will use unhead to load the reCAPTCHA script. If you need to completely control how to load the reCAPTCHA script. You can use createPlugin to create a plugin with your own loadScript function. import { onMounted } from 'vue' import { defineScriptLoader, toQueryString } from 'vue-recaptcha' // Define your own loadScript function const loadScript = defineScriptLoader (( options ) => { // This function will be called by useRecaptchaProvider return () => { onMounted (() => { // You can use any way to load the reCAPTCHA script const script = document. createElement ( 'script' ) script.src = `${ options . recaptchaApiURL }?${ toQueryString ( options . params ) }` script.async = true script.defer = true if (options.nonce) { script.nonce = options.nonce } document.head. append (script) }) } }) const plugin = createPlugin (loadScript) The defineScriptLoader function and ScriptLoaderOptions export interface RecaptchaParams { // You must pass these two value as query string to reCAPTCHA render : LiteralUnion \u003C 'explicit' , string > onload : string // Below you can customize as you want hl ?: string | undefined trustedtypes ?: 'true' | undefined [k: string] : string | undefined } export interface ScriptLoaderOptions { /** * you can use recaptcha.net instead of google.com, if you set recaptchaApiURL, this option will be ignored */ useRecaptchaNet ?: boolean /** * you can use your own recaptcha api url, if you set this option, useRecaptchaNet will be ignored */ recaptchaApiURL : string /** * nonce for script tag */ nonce ?: string /** * params for recaptcha api */ params : RecaptchaParams } /** * Helper function for define your own loadScript function */ function defineScriptLoader ( fn : ScriptLoaderFactory ) : NormalizedScriptLoaderFactory html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",{"id":125,"path":126,"dir":127,"title":128,"description":129,"keywords":130,"body":133},"content:5.integration:0.vee-validation.md","/integration/vee-validation","integration","Vee Validation","Vee Validate is a plugin for form validation.",[131,132],"Confirm user has clicked the checkbox before submit","Execute challenge when user submit form"," Vee Validation Vee Validate is a plugin for form validation. Confirm user has clicked the checkbox before submit \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), recaptcha: yup. string (). required ( 'Please verify you are human' ), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const { value : recaptchaValue , errorMessage : recaptchaError } = useField \u003C string >( 'recaptcha' ) const onSubmit = handleSubmit (( values ) => { console. log (values) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaCheckbox v-model = \"recaptchaValue\" /> \u003C div v-if = \"recaptchaError\" class = \"text-red\" >{{ recaptchaError }}\u003C/ div > \u003C/ div > \u003C div > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ div > \u003C/ form > \u003C/ template > Execute challenge when user submit form \u003C script setup lang = \"ts\" > import { useField, useForm } from 'vee-validate' import * as yup from 'yup' import { until } from '@vueuse/core' const { handleSubmit } = useForm ({ validationSchema: yup. object ({ name: yup. string (). required (), }), }) const { value : nameValue , errorMessage : nameError } = useField ( 'name' ) const response = ref () const onSubmit = handleSubmit ( async ( values ) => { await until (response). changed () console. log ({ ... values, response: response.value }) }) \u003C/ script > \u003C template > \u003C form class = \"flex flex-col gap-2\" @submit = \"onSubmit\" > \u003C div > \u003C input v-model = \"nameValue\" class = \"border border-blue p-1\" type = \"text\" placeholder = \"Your name\" /> \u003C div v-if = \"nameError\" class = \"text-red\" >{{ nameError }}\u003C/ div > \u003C/ div > \u003C div > \u003C RecaptchaChallengeV2 v-model = \"response\" > \u003C PrimaryButton type = \"submit\" >Submit\u003C/ PrimaryButton > \u003C/ RecaptchaChallengeV2 > \u003C/ div > \u003C/ form > \u003C/ template > html.dark .shiki span {color: var(--shiki-dark) !important;background: var(--shiki-dark-bg) !important;font-style: var(--shiki-dark-font-style) !important;font-weight: var(--shiki-dark-font-weight) !important;text-decoration: var(--shiki-dark-text-decoration) !important;}",1698639643956] \ No newline at end of file diff --git a/integration/vee-validation/index.html b/integration/vee-validation/index.html index 02ece8e55a..6844a673d4 100644 --- a/integration/vee-validation/index.html +++ b/integration/vee-validation/index.html @@ -30,56 +30,56 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - -
Currently you are viewing v3 document of vue-recaptcha which is still in development

Vee Validation

Vee Validate is a plugin for form validation.

Confirm user has clicked the checkbox before submit

Code
<script setup lang="ts">import { useField, useForm } from 'vee-validate'import * as yup from 'yup'const { handleSubmit } = useForm({  validationSchema: yup.object({    name: yup.string().required(),    recaptcha: yup.string().required('Please verify you are human'),  }),})const { value: nameValue, errorMessage: nameError } = useField('name')const { value: recaptchaValue, errorMessage: recaptchaError } = useField<string>('recaptcha')const onSubmit = handleSubmit((values) => {  console.log(values)})</script><template>  <form class="flex flex-col gap-2" @submit="onSubmit">    <div>      <input v-model="nameValue" class="border border-blue p-1" type="text" placeholder="Your name" />      <div v-if="nameError" class="text-red">{{ nameError }}</div>    </div>    <div>      <RecaptchaCheckbox v-model="recaptchaValue" />      <div v-if="recaptchaError" class="text-red">{{ recaptchaError }}</div>    </div>    <div>      <PrimaryButton type="submit">Submit</PrimaryButton>    </div>  </form></template>

Execute challenge when user submit form

Code
<script setup lang="ts">import { useField, useForm } from 'vee-validate'import * as yup from 'yup'import { until } from '@vueuse/core'const { handleSubmit } = useForm({  validationSchema: yup.object({    name: yup.string().required(),  }),})const { value: nameValue, errorMessage: nameError } = useField('name')const response = ref()const onSubmit = handleSubmit(async (values) => {  await until(response).changed()  console.log({ ...values, response: response.value })})</script><template>  <form class="flex flex-col gap-2" @submit="onSubmit">    <div>      <input v-model="nameValue" class="border border-blue p-1" type="text" placeholder="Your name" />      <div v-if="nameError" class="text-red">{{ nameError }}</div>    </div>    <div>      <RecaptchaChallengeV2 v-model="response">        <PrimaryButton type="submit">Submit</PrimaryButton>      </RecaptchaChallengeV2>    </div>  </form></template>
- +
Currently you are viewing v3 document of vue-recaptcha which is still in development

Vee Validation

Vee Validate is a plugin for form validation.

Confirm user has clicked the checkbox before submit

Code
<script setup lang="ts">import { useField, useForm } from 'vee-validate'import * as yup from 'yup'const { handleSubmit } = useForm({  validationSchema: yup.object({    name: yup.string().required(),    recaptcha: yup.string().required('Please verify you are human'),  }),})const { value: nameValue, errorMessage: nameError } = useField('name')const { value: recaptchaValue, errorMessage: recaptchaError } = useField<string>('recaptcha')const onSubmit = handleSubmit((values) => {  console.log(values)})</script><template>  <form class="flex flex-col gap-2" @submit="onSubmit">    <div>      <input v-model="nameValue" class="border border-blue p-1" type="text" placeholder="Your name" />      <div v-if="nameError" class="text-red">{{ nameError }}</div>    </div>    <div>      <RecaptchaCheckbox v-model="recaptchaValue" />      <div v-if="recaptchaError" class="text-red">{{ recaptchaError }}</div>    </div>    <div>      <PrimaryButton type="submit">Submit</PrimaryButton>    </div>  </form></template>

Execute challenge when user submit form

Code
<script setup lang="ts">import { useField, useForm } from 'vee-validate'import * as yup from 'yup'import { until } from '@vueuse/core'const { handleSubmit } = useForm({  validationSchema: yup.object({    name: yup.string().required(),  }),})const { value: nameValue, errorMessage: nameError } = useField('name')const response = ref()const onSubmit = handleSubmit(async (values) => {  await until(response).changed()  console.log({ ...values, response: response.value })})</script><template>  <form class="flex flex-col gap-2" @submit="onSubmit">    <div>      <input v-model="nameValue" class="border border-blue p-1" type="text" placeholder="Your name" />      <div v-if="nameError" class="text-red">{{ nameError }}</div>    </div>    <div>      <RecaptchaChallengeV2 v-model="response">        <PrimaryButton type="submit">Submit</PrimaryButton>      </RecaptchaChallengeV2>    </div>  </form></template>
+ \ No newline at end of file