From 6eeae970f650f923ed4db4ec45ea4bb503fcbece Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sun, 4 Feb 2024 09:37:09 +0000 Subject: [PATCH] deploy: 66898ff90d1a6ab5b4921ac600b900fe5ac0ead4 --- 200.html | 38 +++---- 404.html | 38 +++---- __studio.json | 2 +- .../{Badge.Bq0zZl56.js => Badge._9Rs-duH.js} | 2 +- ...Hero.zWmlewkQ.js => BlockHero.xcepq8jC.js} | 2 +- ...ink.w20vZM51.js => ButtonLink.JsHDRO_1.js} | 2 +- ...allout.msAswQ_R.js => Callout.6IDfYbfc.js} | 2 +- _nuxt/{Card.5bUrWpaH.js => Card.o4r2Vq4C.js} | 2 +- ...dGrid.0WF2Q5kb.js => CardGrid.ZlMwfiox.js} | 2 +- _nuxt/ChallengeV2.ZklYnzhU.js | 1 - _nuxt/ChallengeV2._AOpQvwG.js | 1 + ...V5n61V0.js => ChallengeV2.vue.-Nph38q1.js} | 2 +- ...FV0Ar_7.js => ChallengeV2Demo.W0k39nW7.js} | 2 +- _nuxt/ChallengeV3.BNbXg8lm.js | 1 + _nuxt/ChallengeV3.LfYmqI11.js | 1 - ...p_5kTkW.js => ChallengeV3.vue.cTzKzn4o.js} | 2 +- ...KwUJk70.js => ChallengeV3Demo.TcLsQd72.js} | 2 +- _nuxt/Checkbox.BEbI-N3l.js | 1 + _nuxt/Checkbox.foA5H_JL.js | 1 - ...e.i_o1e-gp.js => Checkbox.vue.2u50CLf1.js} | 2 +- ...o.DmkwCS_v.js => CheckboxDemo.-2Q_V1r4.js} | 2 +- ...lock.P1Dwa4-i.js => CodeBlock.1eKG1Wpl.js} | 2 +- ...roup.TfR_eiZQ.js => CodeGroup.mnD6IF-H.js} | 2 +- ...-wI.js => ComponentPlayground.7uaKLuVF.js} | 2 +- ...js => ComponentPlaygroundData.fO7KBkaY.js} | 2 +- ...s => ComponentPlaygroundProps.Ec6dzvCJ.js} | 2 +- _nuxt/ComponentPlaygroundSlots.Ef6Sa52j.js | 1 + _nuxt/ComponentPlaygroundSlots.NgGOSdxM.js | 1 - ... ComponentPlaygroundSlots.vue.0V99WfYB.js} | 2 +- _nuxt/ComponentPlaygroundTokens.3U_NfJtG.js | 1 - _nuxt/ComponentPlaygroundTokens.b0fT7zSI.js | 1 + ...ComponentPlaygroundTokens.vue.maqnXcTJ.js} | 2 +- ...Doc.zKgHGiDN.js => ContentDoc.B9HE1ddj.js} | 2 +- ...st.82B4DZ2X.js => ContentList.jndH3Itx.js} | 2 +- ...rgy4q.js => ContentNavigation.aswf_l73.js} | 2 +- ...y.NB3OFZ9d.js => ContentQuery.M0_kloZa.js} | 2 +- ...KSxfKNo.js => ContentRenderer.tFbNhKMt.js} | 2 +- _nuxt/ContentRendererMarkdown.42Ch2eVw.js | 1 + _nuxt/ContentRendererMarkdown.qrNK7OQe.js | 1 - ...> ContentRendererMarkdown.vue.4k77k0Ub.js} | 2 +- _nuxt/ContentSlot.6G6kJV58.js | 1 + _nuxt/ContentSlot.hwWIYXww.js | 1 - ...ton.bRE_TWd1.js => CopyButton.y_8t9_on.js} | 2 +- ...side.gNXJa-Bf.js => DocsAside.7iaOVwMX.js} | 2 +- ...lBgf0KZa.js => DocsPageBottom.UiQFbxFH.js} | 2 +- ...oVaLCwTp.js => DocsPageLayout.UPR5IpQ_.js} | 2 +- ...t.Pin13daV.js => DocsPrevNext.fgev8I6q.js} | 2 +- ...ocsToc.Rer6PIHw.js => DocsToc.wB-Mh8u5.js} | 2 +- ...s.KwT3TIqY.js => DocsTocLinks.jJ8TPMe2.js} | 2 +- ...bUT.js => DocumentDrivenEmpty.kiIWIMj7.js} | 2 +- ....js => DocumentDrivenNotFound.Nj5zZt7K.js} | 2 +- _nuxt/EditOnLink.3mKQAlG-.js | 1 + _nuxt/EditOnLink.Fqrz7wh7.js | 1 - ...hSdYNdSH.js => EditOnLink.vue.kjMGI45_.js} | 2 +- ...ipsis.UJCrcBeT.js => Ellipsis.PNOchgsh.js} | 2 +- ...conCSS.qbvIwZtu.js => IconCSS.xyxYUcIn.js} | 2 +- ...6qvDP61.js => IconCodeSandBox.N1ON8FR6.js} | 2 +- ...ocus.K5oX3zLO.js => IconDocus.LHucSjT7.js} | 2 +- ...nNuxt.zpO48gIf.js => IconNuxt.BRehDEdH.js} | 2 +- ...pO48gIf.js => IconNuxtContent.BRehDEdH.js} | 2 +- ...s.BwKS42Pl.js => IconNuxtLabs.WgrHf3YD.js} | 2 +- ...yO30aaIz.js => IconNuxtStudio.O8v09NUG.js} | 2 +- ...ZhEvxl29.js => IconStackBlitz.fPWsgIjN.js} | 2 +- ...jVRNOA.js => IconVueTelescope.7Z03Pm2t.js} | 2 +- ...Demo.45z5wsSn.js => IndexDemo.EsYKFqSy.js} | 2 +- _nuxt/{List.7pu2wkfy.js => List.ZJ2mKXBz.js} | 2 +- ...DCSlot.2zHBmkna.js => MDCSlot.MN43rXdf.js} | 2 +- _nuxt/Markdown.YK6J3_Q1.js | 1 + _nuxt/Markdown.pCr_z0ZL.js | 1 - ...ermaid.qwe_za49.js => Mermaid.7Jd7-Cdi.js} | 2 +- _nuxt/NuxtImg.VdvHjWw5.js | 1 + _nuxt/NuxtImg.uWtvOG7g.js | 1 - ...ue.0VDIrUXY.js => NuxtImg.vue.8kvkqvZy.js} | 2 +- ....qMmReYHO.js => PreviewLayout.-mh9dIns.js} | 2 +- ....LSQnk0sG.js => PrimaryButton.FlXkNIab.js} | 2 +- .../{Props.4h5-vo62.js => Props.CEtWFb0d.js} | 2 +- ...{ProseA.gJO5IhDn.js => ProseA.OkKrpPKJ.js} | 2 +- ...x2T5GSs.js => ProseBlockquote.qAOUk4Wn.js} | 2 +- ...Code.oeUt39ck.js => ProseCode.c02XCi1f.js} | 2 +- ...D_4UGIu.js => ProseCodeInline.6iI3GoXM.js} | 2 +- ...roseEm.F6z8uwGD.js => ProseEm.u9sEsbYJ.js} | 2 +- ...roseH1.ObL5W-EZ.js => ProseH1.EFDm3JDy.js} | 2 +- ...roseH2.-9Ew53W_.js => ProseH2.5OksNWtg.js} | 2 +- ...roseH3.bcbsC7K5.js => ProseH3.QreNH1Ne.js} | 2 +- ...roseH4.8hu1lHgz.js => ProseH4.vtOAJkSq.js} | 2 +- ...roseH5.lNRH0NeP.js => ProseH5.ThcODWY3.js} | 2 +- ...roseH6.TjN22uhv.js => ProseH6.es0nbL-E.js} | 2 +- ...roseHr.RGwhFeUE.js => ProseHr.5KpkoNDK.js} | 2 +- ...seImg.hK0AkCYv.js => ProseImg.dL8X15Ke.js} | 2 +- ...roseLi.Nd-cfAUt.js => ProseLi.mf42c34j.js} | 2 +- ...roseOl.WiRv2RPt.js => ProseOl.GkhMg_vD.js} | 2 +- ...{ProseP.WWHl5OCQ.js => ProseP.bMR8pn8i.js} | 2 +- ...sePre.7hQDwLAv.js => ProsePre.hqKdR_vu.js} | 2 +- ...ng.MOzHJa_4.js => ProseStrong.poKMskxt.js} | 2 +- ...ble.vBeITk7D.js => ProseTable._7xk69YO.js} | 2 +- ...ody.zyB_RR9Q.js => ProseTbody.6wYonfVE.js} | 2 +- ...roseTd.G4s628Gm.js => ProseTd.3ktvwyQ-.js} | 2 +- ...roseTh.HjKCkJiu.js => ProseTh.FkymB9rA.js} | 2 +- ...ead.tCJk5qKt.js => ProseThead.B2jt3gkU.js} | 2 +- ...roseTr.EapMfHL9.js => ProseTr.WUpym3Ix.js} | 2 +- ...roseUl.AJzxAvif.js => ProseUl.7I5B1wKe.js} | 2 +- ...andbox.LEbq7B6x.js => Sandbox.fz6ePa0S.js} | 2 +- _nuxt/SourceLink.fQqE1hsz.js | 1 + _nuxt/SourceLink.zrd0rF8v.js | 1 - ...der.bMrSb2ui.js => TabsHeader.wVJNPdeP.js} | 2 +- ...minal.fi-D3Y7p.js => Terminal.cd6apQ0s.js} | 2 +- _nuxt/ThemeButton.KLzrACF9.js | 1 - _nuxt/ThemeButton.kym-kZbO.js | 1 + ...dZg_U5_.js => ThemeButton.vue.E7xg_z0E.js} | 2 +- ...0uB0VN.js => TokensPlayground.lrWJJPfs.js} | 2 +- ...7FK.js => VeeValidateCheckbox.AJOw7uBn.js} | 2 +- ...lN.js => VeeValidateInvisible.H0JOJac3.js} | 2 +- ...er.Ys8XZz6o.js => VideoPlayer.Wl48Pgvy.js} | 2 +- ...ard.tukDOokH.js => VoltaBoard.5Hy9XdE-.js} | 2 +- _nuxt/{arc.qN4MtU4T.js => arc.ndZ8SnWc.js} | 2 +- _nuxt/builds/latest.json | 2 +- .../2269162f-d821-4292-851a-6d7f1477d536.json | 1 + .../a25567f7-a738-4b47-8a49-57e2725c9552.json | 1 - ...BO8E.js => c4Diagram-817c8e44.jwmik79h.js} | 2 +- ...k.js => classDiagram-48ab76fb.D_lcLS0a.js} | 2 +- ...s => classDiagram-v2-8ecb0bfc.bgcmPq0w.js} | 2 +- ...t-db.vOAFLTFq.js => client-db.qmKneCqM.js} | 2 +- ...2.sKjNcOqD.js => component-v2.IsIoIgya.js} | 2 +- ...UMP.js => createText-aebacdfe.wmc7v5UB.js} | 2 +- _nuxt/default.dDhX4ymO.js | 1 - _nuxt/default.jp05wh6t.js | 1 + ...9ahBX4B.js => document-driven.JwSMCAJf.js} | 2 +- ...sUApLEFd.js => edges-80f1ebb6.d3gBK9Nl.js} | 2 +- .../{entry.q1HaRjkf.js => entry.DMNM28aL.js} | 8 +- ...A5Bi.js => erDiagram-9cfc3649.M6UFOU5W.js} | 2 +- ...-404.cO77aMSk.js => error-404.60rq1vs1.js} | 2 +- ...-500.M33iNT8U.js => error-500.1_TLBkWV.js} | 2 +- ...3nGUORL.js => flowDb-170db09d.7WV-jgHZ.js} | 2 +- ...6Q.js => flowDiagram-61eb444c.ppyp2WN6.js} | 2 +- _nuxt/flowDiagram-v2-2f8f667a.FYcPW-iT.js | 1 - _nuxt/flowDiagram-v2-2f8f667a.cLw1ukf0.js | 1 + ...chart-elk-definition-e097735e.rzBaTVVI.js} | 2 +- ...P.js => ganttDiagram-db6931fb.KbuX0LsH.js} | 2 +- ...s => gitGraphDiagram-6b463803.FEPj0aII.js} | 2 +- ...xUqpZOgv.js => index-67a42d7d.V6muVu2_.js} | 2 +- ....esm.2qW5NcAJ.js => index.esm.5yGQZtXl.js} | 2 +- .../{index.yCA1HJN8.js => index.lhx1JYyI.js} | 2 +- ...lF.js => infoDiagram-a336098b.N6yAVH6y.js} | 2 +- ...js => journeyDiagram-deae3313.qk1fbuUl.js} | 2 +- ...{layout.m-I5JUDt.js => layout.nII1iIDV.js} | 2 +- _nuxt/{line.GPn4lxsZ.js => line.ik9Fl7Dj.js} | 2 +- ...{linear.eWEBA0QA.js => linear.4Z5a_r3t.js} | 2 +- ...NtSsGH.js => mermaid-934d9bea.1859dh9d.js} | 8 +- ...> mindmap-definition-617cf8dd.1Dy2TcNE.js} | 2 +- _nuxt/{page.kItSCnbi.js => page.WH-au3PE.js} | 2 +- ...jMF.js => pieDiagram-a5166659.y596tFGp.js} | 2 +- ...s => quadrantDiagram-6c355bbc.8-jw_S-G.js} | 2 +- ...> requirementDiagram-4038b16c.k1YNoqU0.js} | 2 +- ....js => sankeyDiagram-6db3d513.Wx8AFF7K.js} | 2 +- ...s => sequenceDiagram-465a088a.PVKE0tRJ.js} | 2 +- ...t.js => stateDiagram-b620d43f.PcXmIe49.js} | 2 +- ...s => stateDiagram-v2-2671c3d1.5LMG5mOq.js} | 2 +- ...Jp1BgDu.js => styles-4ba6ed67.bD9c0s06.js} | 2 +- ...mD_K0mm.js => styles-b966c4ae.U5vEx3p_.js} | 2 +- ...gBLhPFl.js => styles-bbc3fe3b.ETVheMDN.js} | 2 +- ....js => svgDrawCommon-ad5ef572.m9jf1X3z.js} | 2 +- ... timeline-definition-732a2638.635c9l2G.js} | 2 +- ...udio.QOPDACwZ.js => useStudio.XgpbW4L4.js} | 2 +- ...js => xychartDiagram-f746c04c.myk7Rj4p.js} | 2 +- _payload.json | 2 +- .../_payload.json | 2 +- .../index.html | 68 +++++------ ...98447920.json => cache.1707039384106.json} | 2 +- ...920.json => u7BbTyuhiE.1707039384106.json} | 0 ...920.json => 5o97oNYApY.1707039384106.json} | 0 ...920.json => 6Ma98zDOAL.1707039384106.json} | 0 ...920.json => 71x6tI7TZ6.1707039384106.json} | 0 ...920.json => 7iVMcekoeE.1707039384106.json} | 0 ...920.json => M3XVXw3HJU.1707039384106.json} | 0 ...920.json => MNRZfjwhUr.1707039384106.json} | 0 ...920.json => RR98Iqj5nh.1707039384106.json} | 0 ...920.json => SeoqWQG0fS.1707039384106.json} | 0 ...920.json => T9GHEEsuxc.1707039384106.json} | 0 ...920.json => TdqgdZYwVh.1707039384106.json} | 0 ...920.json => a9mJ5sb0Ut.1707039384106.json} | 0 ...920.json => brX4CwCJoQ.1707039384106.json} | 0 ...920.json => cYHfkdXNA9.1707039384106.json} | 0 ...920.json => cwi4DXcuTN.1707039384106.json} | 0 ...920.json => enlVh97sWo.1707039384106.json} | 0 ...920.json => ilY3438huT.1707039384106.json} | 0 ...920.json => llVwSUGQ8t.1707039384106.json} | 0 ...920.json => nEtvTjdOht.1707039384106.json} | 0 ...920.json => nkLpzwYCmw.1707039384106.json} | 0 ...920.json => o37MdY9M7h.1707039384106.json} | 0 ...920.json => qD1kmuf7LZ.1707039384106.json} | 0 ...920.json => qI1iJDV4vv.1707039384106.json} | 0 ...920.json => qIaVkSSVbL.1707039384106.json} | 0 ...920.json => s1rpjBKntu.1707039384106.json} | 0 ...920.json => udG4RswcBp.1707039384106.json} | 0 ...920.json => wrDfznErw4.1707039384106.json} | 0 ...920.json => xIJVJksIkT.1707039384106.json} | 0 ...920.json => xWeY3NfYtX.1707039384106.json} | 0 ...920.json => y5OZXjriWq.1707039384106.json} | 0 ...920.json => zlYjVpH9OK.1707039384106.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 | 72 ++++++------ composables/challenge-v3/_payload.json | 2 +- composables/challenge-v3/index.html | 74 ++++++------ composables/recaptcha-provider/_payload.json | 2 +- composables/recaptcha-provider/index.html | 66 +++++------ guide/_payload.json | 2 +- guide/enterprise/_payload.json | 2 +- guide/enterprise/index.html | 68 +++++------ guide/faq/_payload.json | 2 +- guide/faq/index.html | 64 +++++------ guide/index.html | 80 ++++++------- guide/migration/_payload.json | 2 +- guide/migration/index.html | 68 +++++------ guide/nuxt/_payload.json | 2 +- guide/nuxt/index.html | 82 +++++++------- index.html | 88 +++++++-------- integration/vee-validation/_payload.json | 2 +- integration/vee-validation/index.html | 92 +++++++-------- 226 files changed, 815 insertions(+), 815 deletions(-) rename _nuxt/{Badge.Bq0zZl56.js => Badge._9Rs-duH.js} (68%) rename _nuxt/{BlockHero.zWmlewkQ.js => BlockHero.xcepq8jC.js} (85%) rename _nuxt/{ButtonLink.w20vZM51.js => ButtonLink.JsHDRO_1.js} (91%) rename _nuxt/{Callout.msAswQ_R.js => Callout.6IDfYbfc.js} (92%) rename _nuxt/{Card.5bUrWpaH.js => Card.o4r2Vq4C.js} (89%) rename _nuxt/{CardGrid.0WF2Q5kb.js => CardGrid.ZlMwfiox.js} (87%) delete mode 100644 _nuxt/ChallengeV2.ZklYnzhU.js create mode 100644 _nuxt/ChallengeV2._AOpQvwG.js rename _nuxt/{ChallengeV2.vue.2V5n61V0.js => ChallengeV2.vue.-Nph38q1.js} (85%) rename _nuxt/{ChallengeV2Demo.LFV0Ar_7.js => ChallengeV2Demo.W0k39nW7.js} (55%) create mode 100644 _nuxt/ChallengeV3.BNbXg8lm.js delete mode 100644 _nuxt/ChallengeV3.LfYmqI11.js rename _nuxt/{ChallengeV3.vue.Gp_5kTkW.js => ChallengeV3.vue.cTzKzn4o.js} (82%) rename _nuxt/{ChallengeV3Demo.dKwUJk70.js => ChallengeV3Demo.TcLsQd72.js} (56%) create mode 100644 _nuxt/Checkbox.BEbI-N3l.js delete mode 100644 _nuxt/Checkbox.foA5H_JL.js rename _nuxt/{Checkbox.vue.i_o1e-gp.js => Checkbox.vue.2u50CLf1.js} (75%) rename _nuxt/{CheckboxDemo.DmkwCS_v.js => CheckboxDemo.-2Q_V1r4.js} (57%) rename _nuxt/{CodeBlock.P1Dwa4-i.js => CodeBlock.1eKG1Wpl.js} (69%) rename _nuxt/{CodeGroup.TfR_eiZQ.js => CodeGroup.mnD6IF-H.js} (88%) rename _nuxt/{ComponentPlayground.6Gam0-wI.js => ComponentPlayground.7uaKLuVF.js} (85%) rename _nuxt/{ComponentPlaygroundData.6AbGJ9mV.js => ComponentPlaygroundData.fO7KBkaY.js} (63%) rename _nuxt/{ComponentPlaygroundProps.Y4cDKaF3.js => ComponentPlaygroundProps.Ec6dzvCJ.js} (81%) create mode 100644 _nuxt/ComponentPlaygroundSlots.Ef6Sa52j.js delete mode 100644 _nuxt/ComponentPlaygroundSlots.NgGOSdxM.js rename _nuxt/{ComponentPlaygroundSlots.vue.cZLjyPCb.js => ComponentPlaygroundSlots.vue.0V99WfYB.js} (80%) delete mode 100644 _nuxt/ComponentPlaygroundTokens.3U_NfJtG.js create mode 100644 _nuxt/ComponentPlaygroundTokens.b0fT7zSI.js rename _nuxt/{ComponentPlaygroundTokens.vue.2cSbGLkg.js => ComponentPlaygroundTokens.vue.maqnXcTJ.js} (77%) rename _nuxt/{ContentDoc.zKgHGiDN.js => ContentDoc.B9HE1ddj.js} (86%) rename _nuxt/{ContentList.82B4DZ2X.js => ContentList.jndH3Itx.js} (84%) rename _nuxt/{ContentNavigation.N2krgy4q.js => ContentNavigation.aswf_l73.js} (92%) rename _nuxt/{ContentQuery.NB3OFZ9d.js => ContentQuery.M0_kloZa.js} (97%) rename _nuxt/{ContentRenderer.VKSxfKNo.js => ContentRenderer.tFbNhKMt.js} (89%) create mode 100644 _nuxt/ContentRendererMarkdown.42Ch2eVw.js delete mode 100644 _nuxt/ContentRendererMarkdown.qrNK7OQe.js rename _nuxt/{ContentRendererMarkdown.vue.YjSLEWnk.js => ContentRendererMarkdown.vue.4k77k0Ub.js} (99%) create mode 100644 _nuxt/ContentSlot.6G6kJV58.js delete mode 100644 _nuxt/ContentSlot.hwWIYXww.js rename _nuxt/{CopyButton.bRE_TWd1.js => CopyButton.y_8t9_on.js} (90%) rename _nuxt/{DocsAside.gNXJa-Bf.js => DocsAside.7iaOVwMX.js} (89%) rename _nuxt/{DocsPageBottom.lBgf0KZa.js => DocsPageBottom.UiQFbxFH.js} (87%) rename _nuxt/{DocsPageLayout.oVaLCwTp.js => DocsPageLayout.UPR5IpQ_.js} (85%) rename _nuxt/{DocsPrevNext.Pin13daV.js => DocsPrevNext.fgev8I6q.js} (95%) rename _nuxt/{DocsToc.Rer6PIHw.js => DocsToc.wB-Mh8u5.js} (80%) rename _nuxt/{DocsTocLinks.KwT3TIqY.js => DocsTocLinks.jJ8TPMe2.js} (96%) rename _nuxt/{DocumentDrivenEmpty.HXWh7bUT.js => DocumentDrivenEmpty.kiIWIMj7.js} (77%) rename _nuxt/{DocumentDrivenNotFound.-yF2pn-z.js => DocumentDrivenNotFound.Nj5zZt7K.js} (81%) create mode 100644 _nuxt/EditOnLink.3mKQAlG-.js delete mode 100644 _nuxt/EditOnLink.Fqrz7wh7.js rename _nuxt/{EditOnLink.vue.hSdYNdSH.js => EditOnLink.vue.kjMGI45_.js} (94%) rename _nuxt/{Ellipsis.UJCrcBeT.js => Ellipsis.PNOchgsh.js} (95%) rename _nuxt/{IconCSS.qbvIwZtu.js => IconCSS.xyxYUcIn.js} (92%) rename _nuxt/{IconCodeSandBox.i6qvDP61.js => IconCodeSandBox.N1ON8FR6.js} (85%) rename _nuxt/{IconDocus.K5oX3zLO.js => IconDocus.LHucSjT7.js} (91%) rename _nuxt/{IconNuxt.zpO48gIf.js => IconNuxt.BRehDEdH.js} (94%) rename _nuxt/{IconNuxtContent.zpO48gIf.js => IconNuxtContent.BRehDEdH.js} (94%) rename _nuxt/{IconNuxtLabs.BwKS42Pl.js => IconNuxtLabs.WgrHf3YD.js} (94%) rename _nuxt/{IconNuxtStudio.yO30aaIz.js => IconNuxtStudio.O8v09NUG.js} (89%) rename _nuxt/{IconStackBlitz.ZhEvxl29.js => IconStackBlitz.fPWsgIjN.js} (82%) rename _nuxt/{IconVueTelescope.DJjVRNOA.js => IconVueTelescope.7Z03Pm2t.js} (91%) rename _nuxt/{IndexDemo.45z5wsSn.js => IndexDemo.EsYKFqSy.js} (75%) rename _nuxt/{List.7pu2wkfy.js => List.ZJ2mKXBz.js} (92%) rename _nuxt/{MDCSlot.2zHBmkna.js => MDCSlot.MN43rXdf.js} (91%) create mode 100644 _nuxt/Markdown.YK6J3_Q1.js delete mode 100644 _nuxt/Markdown.pCr_z0ZL.js rename _nuxt/{Mermaid.qwe_za49.js => Mermaid.7Jd7-Cdi.js} (75%) create mode 100644 _nuxt/NuxtImg.VdvHjWw5.js delete mode 100644 _nuxt/NuxtImg.uWtvOG7g.js rename _nuxt/{NuxtImg.vue.0VDIrUXY.js => NuxtImg.vue.8kvkqvZy.js} (89%) rename _nuxt/{PreviewLayout.qMmReYHO.js => PreviewLayout.-mh9dIns.js} (75%) rename _nuxt/{PrimaryButton.LSQnk0sG.js => PrimaryButton.FlXkNIab.js} (75%) rename _nuxt/{Props.4h5-vo62.js => Props.CEtWFb0d.js} (87%) rename _nuxt/{ProseA.gJO5IhDn.js => ProseA.OkKrpPKJ.js} (84%) rename _nuxt/{ProseBlockquote._x2T5GSs.js => ProseBlockquote.qAOUk4Wn.js} (73%) rename _nuxt/{ProseCode.oeUt39ck.js => ProseCode.c02XCi1f.js} (96%) rename _nuxt/{ProseCodeInline.kD_4UGIu.js => ProseCodeInline.6iI3GoXM.js} (72%) rename _nuxt/{ProseEm.F6z8uwGD.js => ProseEm.u9sEsbYJ.js} (72%) rename _nuxt/{ProseH1.ObL5W-EZ.js => ProseH1.EFDm3JDy.js} (91%) rename _nuxt/{ProseH2.-9Ew53W_.js => ProseH2.5OksNWtg.js} (91%) rename _nuxt/{ProseH3.bcbsC7K5.js => ProseH3.QreNH1Ne.js} (91%) rename _nuxt/{ProseH4.8hu1lHgz.js => ProseH4.vtOAJkSq.js} (91%) rename _nuxt/{ProseH5.lNRH0NeP.js => ProseH5.ThcODWY3.js} (91%) rename _nuxt/{ProseH6.TjN22uhv.js => ProseH6.es0nbL-E.js} (91%) rename _nuxt/{ProseHr.RGwhFeUE.js => ProseHr.5KpkoNDK.js} (64%) rename _nuxt/{ProseImg.hK0AkCYv.js => ProseImg.dL8X15Ke.js} (89%) rename _nuxt/{ProseLi.Nd-cfAUt.js => ProseLi.mf42c34j.js} (72%) rename _nuxt/{ProseOl.WiRv2RPt.js => ProseOl.GkhMg_vD.js} (72%) rename _nuxt/{ProseP.WWHl5OCQ.js => ProseP.bMR8pn8i.js} (72%) rename _nuxt/{ProsePre.7hQDwLAv.js => ProsePre.hqKdR_vu.js} (82%) rename _nuxt/{ProseStrong.MOzHJa_4.js => ProseStrong.poKMskxt.js} (72%) rename _nuxt/{ProseTable.vBeITk7D.js => ProseTable._7xk69YO.js} (77%) rename _nuxt/{ProseTbody.zyB_RR9Q.js => ProseTbody.6wYonfVE.js} (66%) rename _nuxt/{ProseTd.G4s628Gm.js => ProseTd.3ktvwyQ-.js} (71%) rename _nuxt/{ProseTh.HjKCkJiu.js => ProseTh.FkymB9rA.js} (72%) rename _nuxt/{ProseThead.tCJk5qKt.js => ProseThead.B2jt3gkU.js} (72%) rename _nuxt/{ProseTr.EapMfHL9.js => ProseTr.WUpym3Ix.js} (72%) rename _nuxt/{ProseUl.AJzxAvif.js => ProseUl.7I5B1wKe.js} (72%) rename _nuxt/{Sandbox.LEbq7B6x.js => Sandbox.fz6ePa0S.js} (91%) create mode 100644 _nuxt/SourceLink.fQqE1hsz.js delete mode 100644 _nuxt/SourceLink.zrd0rF8v.js rename _nuxt/{TabsHeader.bMrSb2ui.js => TabsHeader.wVJNPdeP.js} (94%) rename _nuxt/{Terminal.fi-D3Y7p.js => Terminal.cd6apQ0s.js} (89%) delete mode 100644 _nuxt/ThemeButton.KLzrACF9.js create mode 100644 _nuxt/ThemeButton.kym-kZbO.js rename _nuxt/{ThemeButton.vue.VdZg_U5_.js => ThemeButton.vue.E7xg_z0E.js} (87%) rename _nuxt/{TokensPlayground.YH0uB0VN.js => TokensPlayground.lrWJJPfs.js} (74%) rename _nuxt/{VeeValidateCheckbox.lGiET7FK.js => VeeValidateCheckbox.AJOw7uBn.js} (75%) rename _nuxt/{VeeValidateInvisible.cMWFaZlN.js => VeeValidateInvisible.H0JOJac3.js} (74%) rename _nuxt/{VideoPlayer.Ys8XZz6o.js => VideoPlayer.Wl48Pgvy.js} (93%) rename _nuxt/{VoltaBoard.tukDOokH.js => VoltaBoard.5Hy9XdE-.js} (78%) rename _nuxt/{arc.qN4MtU4T.js => arc.ndZ8SnWc.js} (96%) create mode 100644 _nuxt/builds/meta/2269162f-d821-4292-851a-6d7f1477d536.json delete mode 100644 _nuxt/builds/meta/a25567f7-a738-4b47-8a49-57e2725c9552.json rename _nuxt/{c4Diagram-817c8e44.8vSvBO8E.js => c4Diagram-817c8e44.jwmik79h.js} (99%) rename _nuxt/{classDiagram-48ab76fb.gLlPfGHk.js => classDiagram-48ab76fb.D_lcLS0a.js} (97%) rename _nuxt/{classDiagram-v2-8ecb0bfc.dqc82LgD.js => classDiagram-v2-8ecb0bfc.bgcmPq0w.js} (92%) rename _nuxt/{client-db.vOAFLTFq.js => client-db.qmKneCqM.js} (99%) rename _nuxt/{component-v2.sKjNcOqD.js => component-v2.IsIoIgya.js} (90%) rename _nuxt/{createText-aebacdfe.T0gmTUMP.js => createText-aebacdfe.wmc7v5UB.js} (99%) delete mode 100644 _nuxt/default.dDhX4ymO.js create mode 100644 _nuxt/default.jp05wh6t.js rename _nuxt/{document-driven.t9ahBX4B.js => document-driven.JwSMCAJf.js} (85%) rename _nuxt/{edges-80f1ebb6.sUApLEFd.js => edges-80f1ebb6.d3gBK9Nl.js} (99%) rename _nuxt/{entry.q1HaRjkf.js => entry.DMNM28aL.js} (96%) rename _nuxt/{erDiagram-9cfc3649.jYxaA5Bi.js => erDiagram-9cfc3649.M6UFOU5W.js} (99%) rename _nuxt/{error-404.cO77aMSk.js => error-404.60rq1vs1.js} (97%) rename _nuxt/{error-500.M33iNT8U.js => error-500.1_TLBkWV.js} (96%) rename _nuxt/{flowDb-170db09d.C3nGUORL.js => flowDb-170db09d.7WV-jgHZ.js} (99%) rename _nuxt/{flowDiagram-61eb444c.HtnM_56Q.js => flowDiagram-61eb444c.ppyp2WN6.js} (97%) delete mode 100644 _nuxt/flowDiagram-v2-2f8f667a.FYcPW-iT.js create mode 100644 _nuxt/flowDiagram-v2-2f8f667a.cLw1ukf0.js rename _nuxt/{flowchart-elk-definition-e097735e.yxP0468I.js => flowchart-elk-definition-e097735e.rzBaTVVI.js} (99%) rename _nuxt/{ganttDiagram-db6931fb.Z_lKYWBP.js => ganttDiagram-db6931fb.KbuX0LsH.js} (99%) rename _nuxt/{gitGraphDiagram-6b463803.rnjGXCwl.js => gitGraphDiagram-6b463803.FEPj0aII.js} (99%) rename _nuxt/{index-67a42d7d.xUqpZOgv.js => index-67a42d7d.V6muVu2_.js} (97%) rename _nuxt/{index.esm.2qW5NcAJ.js => index.esm.5yGQZtXl.js} (99%) rename _nuxt/{index.yCA1HJN8.js => index.lhx1JYyI.js} (89%) rename _nuxt/{infoDiagram-a336098b.IO5q47lF.js => infoDiagram-a336098b.N6yAVH6y.js} (98%) rename _nuxt/{journeyDiagram-deae3313.ZuElExma.js => journeyDiagram-deae3313.qk1fbuUl.js} (98%) rename _nuxt/{layout.m-I5JUDt.js => layout.nII1iIDV.js} (99%) rename _nuxt/{line.GPn4lxsZ.js => line.ik9Fl7Dj.js} (86%) rename _nuxt/{linear.eWEBA0QA.js => linear.4Z5a_r3t.js} (99%) rename _nuxt/{mermaid-934d9bea.A2NtSsGH.js => mermaid-934d9bea.1859dh9d.js} (98%) rename _nuxt/{mindmap-definition-617cf8dd.1uSA4U6s.js => mindmap-definition-617cf8dd.1Dy2TcNE.js} (99%) rename _nuxt/{page.kItSCnbi.js => page.WH-au3PE.js} (90%) rename _nuxt/{pieDiagram-a5166659.1goZTjMF.js => pieDiagram-a5166659.y596tFGp.js} (98%) rename _nuxt/{quadrantDiagram-6c355bbc.uri_Pjpj.js => quadrantDiagram-6c355bbc.8-jw_S-G.js} (99%) rename _nuxt/{requirementDiagram-4038b16c.gcs3M0d5.js => requirementDiagram-4038b16c.k1YNoqU0.js} (99%) rename _nuxt/{sankeyDiagram-6db3d513.bBHtPBWg.js => sankeyDiagram-6db3d513.Wx8AFF7K.js} (99%) rename _nuxt/{sequenceDiagram-465a088a.app30z5a.js => sequenceDiagram-465a088a.PVKE0tRJ.js} (99%) rename _nuxt/{stateDiagram-b620d43f.2pkn0URt.js => stateDiagram-b620d43f.PcXmIe49.js} (97%) rename _nuxt/{stateDiagram-v2-2671c3d1.P7fXP-3K.js => stateDiagram-v2-2671c3d1.5LMG5mOq.js} (92%) rename _nuxt/{styles-4ba6ed67.BJp1BgDu.js => styles-4ba6ed67.bD9c0s06.js} (99%) rename _nuxt/{styles-b966c4ae.YmD_K0mm.js => styles-b966c4ae.U5vEx3p_.js} (98%) rename _nuxt/{styles-bbc3fe3b.jgBLhPFl.js => styles-bbc3fe3b.ETVheMDN.js} (99%) rename _nuxt/{svgDrawCommon-ad5ef572.xEe9aykG.js => svgDrawCommon-ad5ef572.m9jf1X3z.js} (95%) rename _nuxt/{timeline-definition-732a2638.QSBqIbe2.js => timeline-definition-732a2638.635c9l2G.js} (99%) rename _nuxt/{useStudio.QOPDACwZ.js => useStudio.XgpbW4L4.js} (99%) rename _nuxt/{xychartDiagram-f746c04c.81MrJfP4.js => xychartDiagram-f746c04c.myk7Rj4p.js} (99%) rename api/_content/{cache.1706998447920.json => cache.1707039384106.json} (99%) rename api/_content/navigation/{u7BbTyuhiE.1706998447920.json => u7BbTyuhiE.1707039384106.json} (100%) rename api/_content/query/{5o97oNYApY.1706998447920.json => 5o97oNYApY.1707039384106.json} (100%) rename api/_content/query/{6Ma98zDOAL.1706998447920.json => 6Ma98zDOAL.1707039384106.json} (100%) rename api/_content/query/{71x6tI7TZ6.1706998447920.json => 71x6tI7TZ6.1707039384106.json} (100%) rename api/_content/query/{7iVMcekoeE.1706998447920.json => 7iVMcekoeE.1707039384106.json} (100%) rename api/_content/query/{M3XVXw3HJU.1706998447920.json => M3XVXw3HJU.1707039384106.json} (100%) rename api/_content/query/{MNRZfjwhUr.1706998447920.json => MNRZfjwhUr.1707039384106.json} (100%) rename api/_content/query/{RR98Iqj5nh.1706998447920.json => RR98Iqj5nh.1707039384106.json} (100%) rename api/_content/query/{SeoqWQG0fS.1706998447920.json => SeoqWQG0fS.1707039384106.json} (100%) rename api/_content/query/{T9GHEEsuxc.1706998447920.json => T9GHEEsuxc.1707039384106.json} (100%) rename api/_content/query/{TdqgdZYwVh.1706998447920.json => TdqgdZYwVh.1707039384106.json} (100%) rename api/_content/query/{a9mJ5sb0Ut.1706998447920.json => a9mJ5sb0Ut.1707039384106.json} (100%) rename api/_content/query/{brX4CwCJoQ.1706998447920.json => brX4CwCJoQ.1707039384106.json} (100%) rename api/_content/query/{cYHfkdXNA9.1706998447920.json => cYHfkdXNA9.1707039384106.json} (100%) rename api/_content/query/{cwi4DXcuTN.1706998447920.json => cwi4DXcuTN.1707039384106.json} (100%) rename api/_content/query/{enlVh97sWo.1706998447920.json => enlVh97sWo.1707039384106.json} (100%) rename api/_content/query/{ilY3438huT.1706998447920.json => ilY3438huT.1707039384106.json} (100%) rename api/_content/query/{llVwSUGQ8t.1706998447920.json => llVwSUGQ8t.1707039384106.json} (100%) rename api/_content/query/{nEtvTjdOht.1706998447920.json => nEtvTjdOht.1707039384106.json} (100%) rename api/_content/query/{nkLpzwYCmw.1706998447920.json => nkLpzwYCmw.1707039384106.json} (100%) rename api/_content/query/{o37MdY9M7h.1706998447920.json => o37MdY9M7h.1707039384106.json} (100%) rename api/_content/query/{qD1kmuf7LZ.1706998447920.json => qD1kmuf7LZ.1707039384106.json} (100%) rename api/_content/query/{qI1iJDV4vv.1706998447920.json => qI1iJDV4vv.1707039384106.json} (100%) rename api/_content/query/{qIaVkSSVbL.1706998447920.json => qIaVkSSVbL.1707039384106.json} (100%) rename api/_content/query/{s1rpjBKntu.1706998447920.json => s1rpjBKntu.1707039384106.json} (100%) rename api/_content/query/{udG4RswcBp.1706998447920.json => udG4RswcBp.1707039384106.json} (100%) rename api/_content/query/{wrDfznErw4.1706998447920.json => wrDfznErw4.1707039384106.json} (100%) rename api/_content/query/{xIJVJksIkT.1706998447920.json => xIJVJksIkT.1707039384106.json} (100%) rename api/_content/query/{xWeY3NfYtX.1706998447920.json => xWeY3NfYtX.1707039384106.json} (100%) rename api/_content/query/{y5OZXjriWq.1706998447920.json => y5OZXjriWq.1707039384106.json} (100%) rename api/_content/query/{zlYjVpH9OK.1706998447920.json => zlYjVpH9OK.1707039384106.json} (100%) diff --git a/200.html b/200.html index ec85daaafe..bb96c7bc8c 100644 --- a/200.html +++ b/200.html @@ -1,7 +1,7 @@ - + @@ -10,27 +10,27 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - + - + - -
- \ No newline at end of file + \ No newline at end of file diff --git a/404.html b/404.html index ec85daaafe..bb96c7bc8c 100644 --- a/404.html +++ b/404.html @@ -1,7 +1,7 @@ - + @@ -10,27 +10,27 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - + - + - -
- \ No newline at end of file + \ No newline at end of file diff --git a/__studio.json b/__studio.json index a7b49501e1..ba0b5f14b3 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":"a25567f7-a738-4b47-8a49-57e2725c9552"},"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":[4472,4507]}],"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":"2269162f-d821-4292-851a-6d7f1477d536"},"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":[4472,4507]}],"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.Bq0zZl56.js b/_nuxt/Badge._9Rs-duH.js similarity index 68% rename from _nuxt/Badge.Bq0zZl56.js rename to _nuxt/Badge._9Rs-duH.js index e183783182..4b7088d5f9 100644 --- a/_nuxt/Badge.Bq0zZl56.js +++ b/_nuxt/Badge._9Rs-duH.js @@ -1 +1 @@ -import{d as n,b as t,c as s,a0 as r,n as o,k as p}from"./entry.q1HaRjkf.js";const c=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,d)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}}),_=p(c,[["__scopeId","data-v-95776a62"]]);export{_ as default}; +import{d as n,b as t,c as s,a0 as r,n as o,k as p}from"./entry.DMNM28aL.js";const c=n({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(a,d)=>(t(),s("span",{class:o([[e.type],"badge"])},[r(a.$slots,"default",{unwrap:"p"},void 0,!0)],2))}}),_=p(c,[["__scopeId","data-v-95776a62"]]);export{_ as default}; diff --git a/_nuxt/BlockHero.zWmlewkQ.js b/_nuxt/BlockHero.xcepq8jC.js similarity index 85% rename from _nuxt/BlockHero.zWmlewkQ.js rename to _nuxt/BlockHero.xcepq8jC.js index 26ffb034cd..4116998bd5 100644 --- a/_nuxt/BlockHero.zWmlewkQ.js +++ b/_nuxt/BlockHero.xcepq8jC.js @@ -1 +1 @@ -import m from"./ButtonLink.w20vZM51.js";import f from"./Terminal.fi-D3Y7p.js";import y from"./VideoPlayer.Ys8XZz6o.js";import{d as _,b as o,c as n,e as s,a0 as a,f as r,F as h,Y as c,w as k,t as d,G as i,ae as v,k as $}from"./entry.q1HaRjkf.js";import"./NuxtImg.vue.0VDIrUXY.js";const w={class:"block-hero"},B={class:"layout"},S={class:"content"},g={key:0,class:"announce"},q={class:"title"},H={class:"description"},V={key:1,class:"extra"},b={class:"actions"},A=["href"],C={class:"support"},N=_({__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,T)=>{const l=m,u=f,p=y;return o(),n("section",w,[s("div",B,[s("div",S,[t.$slots.announce?(o(),n("p",g,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",q,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",H,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",V,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",b,[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,A)):r("",!0)],64))])]),s("div",C,[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)])])])}}}),G=$(N,[["__scopeId","data-v-8013571d"]]);export{G as default}; +import m from"./ButtonLink.JsHDRO_1.js";import f from"./Terminal.cd6apQ0s.js";import y from"./VideoPlayer.Wl48Pgvy.js";import{d as _,b as o,c as n,e as s,a0 as a,f as r,F as h,Y as c,w as k,t as d,G as i,ae as v,k as $}from"./entry.DMNM28aL.js";import"./NuxtImg.vue.8kvkqvZy.js";const w={class:"block-hero"},B={class:"layout"},S={class:"content"},g={key:0,class:"announce"},q={class:"title"},H={class:"description"},V={key:1,class:"extra"},b={class:"actions"},A=["href"],C={class:"support"},N=_({__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,T)=>{const l=m,u=f,p=y;return o(),n("section",w,[s("div",B,[s("div",S,[t.$slots.announce?(o(),n("p",g,[a(t.$slots,"announce",{unwrap:"p"},void 0,!0)])):r("",!0),s("h1",q,[a(t.$slots,"title",{unwrap:"p"},()=>[i(" Hero Title ")],!0)]),s("p",H,[a(t.$slots,"description",{unwrap:"p"},()=>[i(" Hero default description. ")],!0)]),t.$slots.extra?(o(),n("div",V,[a(t.$slots,"extra",{unwrap:"p"},void 0,!0)])):r("",!0),s("div",b,[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,A)):r("",!0)],64))])]),s("div",C,[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)])])])}}}),G=$(N,[["__scopeId","data-v-8013571d"]]);export{G as default}; diff --git a/_nuxt/ButtonLink.w20vZM51.js b/_nuxt/ButtonLink.JsHDRO_1.js similarity index 91% rename from _nuxt/ButtonLink.w20vZM51.js rename to _nuxt/ButtonLink.JsHDRO_1.js index 1c8b511cd0..8f94296c81 100644 --- a/_nuxt/ButtonLink.w20vZM51.js +++ b/_nuxt/ButtonLink.JsHDRO_1.js @@ -1 +1 @@ -import{d as p,am as f,K as a,af as m,b as o,Y as i,w as _,f as g,a0 as x,n as S,L as b,a2 as h,H as k,k as z}from"./entry.q1HaRjkf.js";const y=p({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:f("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 s=a(()=>((t=n)=>`{color.${t.color}.600}`)()),l=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:c}=m(n,r,{_YM9_buttonPrimary:s,_A23_buttonSecondary:l});return(t,H)=>{const u=h,d=k;return o(),i(d,{class:S(["button-link",[b(c)]]),to:e.href,target:e.blank?"_blank":void 0},{default:_(()=>[e.icon?(o(),i(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"])}}}),B=z(y,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; +import{d as p,am as f,K as a,af as m,b as o,Y as i,w as _,f as g,a0 as x,n as S,L as b,a2 as h,H as k,k as z}from"./entry.DMNM28aL.js";const y=p({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:f("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 s=a(()=>((t=n)=>`{color.${t.color}.600}`)()),l=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:c}=m(n,r,{_YM9_buttonPrimary:s,_A23_buttonSecondary:l});return(t,H)=>{const u=h,d=k;return o(),i(d,{class:S(["button-link",[b(c)]]),to:e.href,target:e.blank?"_blank":void 0},{default:_(()=>[e.icon?(o(),i(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"])}}}),B=z(y,[["__scopeId","data-v-c9c0da25"]]);export{B as default}; diff --git a/_nuxt/Callout.msAswQ_R.js b/_nuxt/Callout.6IDfYbfc.js similarity index 92% rename from _nuxt/Callout.msAswQ_R.js rename to _nuxt/Callout.6IDfYbfc.js index a197907a10..78f1e1f9cc 100644 --- a/_nuxt/Callout.msAswQ_R.js +++ b/_nuxt/Callout.6IDfYbfc.js @@ -1 +1 @@ -import{d as p,r as o,b as _,c as f,e as s,a0 as n,g as v,n as l,L as c,a3 as h,aK as g,a2 as y,k as V}from"./entry.q1HaRjkf.js";const C={class:"summary"},k={class:"content"},w=p({__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 i=a,u=r,e=o(i.modelValue),d=()=>{e.value=!e.value,u("update:modelValue",e.value)};return(t,B)=>{const m=y;return _(),f("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:d},[s("span",C,[n(t.$slots,"summary",{},void 0,!0)]),v(m,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),h(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[g,c(e)]])],2)}}}),b=V(w,[["__scopeId","data-v-a97d64bd"]]);export{b as default}; +import{d as p,r as o,b as _,c as f,e as s,a0 as n,g as v,n as l,L as c,a3 as h,aK as g,a2 as y,k as V}from"./entry.DMNM28aL.js";const C={class:"summary"},k={class:"content"},w=p({__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 i=a,u=r,e=o(i.modelValue),d=()=>{e.value=!e.value,u("update:modelValue",e.value)};return(t,B)=>{const m=y;return _(),f("div",{class:l(["callout",[a.type]])},[s("span",{class:"preview",onClick:d},[s("span",C,[n(t.$slots,"summary",{},void 0,!0)]),v(m,{name:"heroicons-outline:chevron-right",class:l(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),h(s("div",k,[n(t.$slots,"content",{},void 0,!0)],512),[[g,c(e)]])],2)}}}),b=V(w,[["__scopeId","data-v-a97d64bd"]]);export{b as default}; diff --git a/_nuxt/Card.5bUrWpaH.js b/_nuxt/Card.o4r2Vq4C.js similarity index 89% rename from _nuxt/Card.5bUrWpaH.js rename to _nuxt/Card.o4r2Vq4C.js index b3d5a240cc..5c62d0cf3c 100644 --- a/_nuxt/Card.5bUrWpaH.js +++ b/_nuxt/Card.o4r2Vq4C.js @@ -1 +1 @@ -import{d as r,b as s,c as d,Y as i,f as l,ae as _,e as t,a0 as a,a2 as p,G as n,k as u}from"./entry.q1HaRjkf.js";const m={class:"card"},f={class:"title"},h={class:"description"},k=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,C)=>{const c=p;return s(),d("div",m,[o.icon?(s(),i(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),_(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[a(e.$slots,"title",{unwrap:"p"},()=>[n(" Card title ")],!0)]),t("p",h,[a(e.$slots,"description",{unwrap:"p"},()=>[n(" Card description ")],!0)])])])}}}),v=u(k,[["__scopeId","data-v-fcbd031d"]]);export{v as default}; +import{d as r,b as s,c as d,Y as i,f as l,ae as _,e as t,a0 as a,a2 as p,G as n,k as u}from"./entry.DMNM28aL.js";const m={class:"card"},f={class:"title"},h={class:"description"},k=r({__name:"Card",props:{icon:{type:String,default:""}},setup(o){return(e,C)=>{const c=p;return s(),d("div",m,[o.icon?(s(),i(c,{key:0,name:o.icon},null,8,["name"])):l("",!0),_(e.$slots,"default",{},void 0,!0),t("div",null,[t("h3",f,[a(e.$slots,"title",{unwrap:"p"},()=>[n(" Card title ")],!0)]),t("p",h,[a(e.$slots,"description",{unwrap:"p"},()=>[n(" Card description ")],!0)])])])}}}),v=u(k,[["__scopeId","data-v-fcbd031d"]]);export{v as default}; diff --git a/_nuxt/CardGrid.0WF2Q5kb.js b/_nuxt/CardGrid.ZlMwfiox.js similarity index 87% rename from _nuxt/CardGrid.0WF2Q5kb.js rename to _nuxt/CardGrid.ZlMwfiox.js index c680d4a502..5bb8701545 100644 --- a/_nuxt/CardGrid.0WF2Q5kb.js +++ b/_nuxt/CardGrid.ZlMwfiox.js @@ -1 +1 @@ -import{d as o,b as r,c as d,a0 as t,e as s,ae as c,G as i,t as l,k as n}from"./entry.q1HaRjkf.js";const p={class:"card-grid"},_={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",p,[t(e.$slots,"root",{},void 0,!0),s("h2",_,[t(e.$slots,"title",{unwrap:"p"},()=>[i(l(a.title),1)],!0)]),s("div",u,[c(e.$slots,"default",{},void 0,!0)])]))}}),v=n(f,[["__scopeId","data-v-12aa13c8"]]);export{v as default}; +import{d as o,b as r,c as d,a0 as t,e as s,ae as c,G as i,t as l,k as n}from"./entry.DMNM28aL.js";const p={class:"card-grid"},_={class:"title"},u={class:"layout"},f=o({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(a){return(e,m)=>(r(),d("section",p,[t(e.$slots,"root",{},void 0,!0),s("h2",_,[t(e.$slots,"title",{unwrap:"p"},()=>[i(l(a.title),1)],!0)]),s("div",u,[c(e.$slots,"default",{},void 0,!0)])]))}}),v=n(f,[["__scopeId","data-v-12aa13c8"]]);export{v as default}; diff --git a/_nuxt/ChallengeV2.ZklYnzhU.js b/_nuxt/ChallengeV2.ZklYnzhU.js deleted file mode 100644 index 0c854cf756..0000000000 --- a/_nuxt/ChallengeV2.ZklYnzhU.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./ChallengeV2.vue.2V5n61V0.js";import"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";import"./entry.q1HaRjkf.js";export{o as default}; diff --git a/_nuxt/ChallengeV2._AOpQvwG.js b/_nuxt/ChallengeV2._AOpQvwG.js new file mode 100644 index 0000000000..fd59e073a3 --- /dev/null +++ b/_nuxt/ChallengeV2._AOpQvwG.js @@ -0,0 +1 @@ +import{_ as o}from"./ChallengeV2.vue.-Nph38q1.js";import"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";import"./entry.DMNM28aL.js";export{o as default}; diff --git a/_nuxt/ChallengeV2.vue.2V5n61V0.js b/_nuxt/ChallengeV2.vue.-Nph38q1.js similarity index 85% rename from _nuxt/ChallengeV2.vue.2V5n61V0.js rename to _nuxt/ChallengeV2.vue.-Nph38q1.js index 94f504f38c..f0c552f2a6 100644 --- a/_nuxt/ChallengeV2.vue.2V5n61V0.js +++ b/_nuxt/ChallengeV2.vue.-Nph38q1.js @@ -1 +1 @@ -import{u as x}from"./component-v2.sKjNcOqD.js";import{d as b,an as V,a9 as _,b as v,Y as w,w as C,L as h,ao as k,ap as B,ae as E,e as I,aq as y}from"./entry.q1HaRjkf.js";const R=b({__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:p,isExpired:c,isVerified:m}=x({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:p,isExpired:c,isVerified:m});function g(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:g},{default:C(()=>[E(o.$slots,"default",B(k(h(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; +import{u as x}from"./component-v2.IsIoIgya.js";import{d as b,an as V,a9 as _,b as v,Y as w,w as C,L as h,ao as k,ap as B,ae as E,e as I,aq as y}from"./entry.DMNM28aL.js";const R=b({__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:p,isExpired:c,isVerified:m}=x({size:"invisible",badge:e.badge,tabindex:e.tabindex},V(e,"modelValue"),d),f=_({execute:t,widgetId:l,state:u,reset:a,isError:p,isExpired:c,isVerified:m});function g(){e.autoExecute&&t()}return r({execute:t,reset:a}),(o,z)=>(v(),w(y(o.as),{onClick:g},{default:C(()=>[E(o.$slots,"default",B(k(h(f)))),I("div",{ref_key:"root",ref:n},null,512)]),_:3}))}});export{R as _}; diff --git a/_nuxt/ChallengeV2Demo.LFV0Ar_7.js b/_nuxt/ChallengeV2Demo.W0k39nW7.js similarity index 55% rename from _nuxt/ChallengeV2Demo.LFV0Ar_7.js rename to _nuxt/ChallengeV2Demo.W0k39nW7.js index e3d29b6f6e..88a08cb245 100644 --- a/_nuxt/ChallengeV2Demo.LFV0Ar_7.js +++ b/_nuxt/ChallengeV2Demo.W0k39nW7.js @@ -1 +1 @@ -import p from"./PrimaryButton.LSQnk0sG.js";import{_ as c}from"./ChallengeV2.vue.2V5n61V0.js";import{Z as _,d as u,r as d,b as f,Y as V,w as n,t as s,L as a,G as x,g,$ as C}from"./entry.q1HaRjkf.js";import{R as t}from"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";_();const y=u({__name:"ChallengeV2Demo",setup(h){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(E,r)=>{const i=p,m=c;return f(),V(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[g(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{y as default}; +import p from"./PrimaryButton.FlXkNIab.js";import{_ as c}from"./ChallengeV2.vue.-Nph38q1.js";import{Z as _,d as u,r as d,b as f,Y as V,w as n,t as s,L as a,G as x,g,$ as C}from"./entry.DMNM28aL.js";import{R as t}from"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";_();const y=u({__name:"ChallengeV2Demo",setup(h){const l={[t.Init]:"Click to Challenge",[t.Verified]:"Verified",[t.Expired]:"Expired",[t.Error]:"Error"},e=d();return(E,r)=>{const i=p,m=c;return f(),V(m,{modelValue:a(e),"onUpdate:modelValue":r[0]||(r[0]=o=>C(e)?e.value=o:null)},{default:n(({state:o})=>[g(i,null,{default:n(()=>[x(s(l[o])+s(a(e)?` ${a(e).slice(0,6)}...`:""),1)]),_:2},1024)]),_:1},8,["modelValue"])}}});export{y as default}; diff --git a/_nuxt/ChallengeV3.BNbXg8lm.js b/_nuxt/ChallengeV3.BNbXg8lm.js new file mode 100644 index 0000000000..937325b4fc --- /dev/null +++ b/_nuxt/ChallengeV3.BNbXg8lm.js @@ -0,0 +1 @@ +import{_ as o}from"./ChallengeV3.vue.cTzKzn4o.js";import"./index.lhx1JYyI.js";import"./entry.DMNM28aL.js";export{o as default}; diff --git a/_nuxt/ChallengeV3.LfYmqI11.js b/_nuxt/ChallengeV3.LfYmqI11.js deleted file mode 100644 index 82c177115d..0000000000 --- a/_nuxt/ChallengeV3.LfYmqI11.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./ChallengeV3.vue.Gp_5kTkW.js";import"./index.yCA1HJN8.js";import"./entry.q1HaRjkf.js";export{o as default}; diff --git a/_nuxt/ChallengeV3.vue.Gp_5kTkW.js b/_nuxt/ChallengeV3.vue.cTzKzn4o.js similarity index 82% rename from _nuxt/ChallengeV3.vue.Gp_5kTkW.js rename to _nuxt/ChallengeV3.vue.cTzKzn4o.js index d0e705ea2e..de0c2c518f 100644 --- a/_nuxt/ChallengeV3.vue.Gp_5kTkW.js +++ b/_nuxt/ChallengeV3.vue.cTzKzn4o.js @@ -1 +1 @@ -import{w as l}from"./index.yCA1HJN8.js";import{aw as i,as as p,r as m,d,a9 as f,b as x,Y as y,w as h,L as v,ao as w,ap as C,ae as V,aq as _}from"./entry.q1HaRjkf.js";function g(s){const o=i(),e=p(),a=m();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const A=d({__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=f({response:n,execute:r});l(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(_(t.as),{onClick:c},{default:h(()=>[V(t.$slots,"default",C(w(v(u))))]),_:3}))}});export{A as _}; +import{w as l}from"./index.lhx1JYyI.js";import{aw as i,as as p,r as m,d,a9 as f,b as x,Y as y,w as h,L as v,ao as w,ap as C,ae as V,aq as _}from"./entry.DMNM28aL.js";function g(s){const o=i(),e=p(),a=m();return{response:a,async execute(){return a.value=await e.execute(o,{action:s})}}}const A=d({__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=f({response:n,execute:r});l(n,t=>{a("update:modelValue",t)});function c(){e.autoExecute&&r()}return(t,k)=>(x(),y(_(t.as),{onClick:c},{default:h(()=>[V(t.$slots,"default",C(w(v(u))))]),_:3}))}});export{A as _}; diff --git a/_nuxt/ChallengeV3Demo.dKwUJk70.js b/_nuxt/ChallengeV3Demo.TcLsQd72.js similarity index 56% rename from _nuxt/ChallengeV3Demo.dKwUJk70.js rename to _nuxt/ChallengeV3Demo.TcLsQd72.js index af50a4f347..88d72b83e5 100644 --- a/_nuxt/ChallengeV3Demo.dKwUJk70.js +++ b/_nuxt/ChallengeV3Demo.TcLsQd72.js @@ -1 +1 @@ -import m from"./PrimaryButton.LSQnk0sG.js";import{_ as c}from"./ChallengeV3.vue.Gp_5kTkW.js";import{d as _,r as p,b as i,c as u,g as n,w as a,L as t,t as d,G as f,$ as V}from"./entry.q1HaRjkf.js";import"./index.yCA1HJN8.js";const $=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return i(),u("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(()=>[f(d(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{$ as default}; +import m from"./PrimaryButton.FlXkNIab.js";import{_ as c}from"./ChallengeV3.vue.cTzKzn4o.js";import{d as _,r as p,b as i,c as u,g as n,w as a,L as t,t as d,G as f,$ as V}from"./entry.DMNM28aL.js";import"./index.lhx1JYyI.js";const $=_({__name:"ChallengeV3Demo",setup(x){const e=p();return(g,o)=>{const s=m,l=c;return i(),u("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(()=>[f(d(t(e)?`Get response: ${t(e).slice(0,6)}...`:"click me"),1)]),_:1})]),_:1},8,["modelValue"])])}}});export{$ as default}; diff --git a/_nuxt/Checkbox.BEbI-N3l.js b/_nuxt/Checkbox.BEbI-N3l.js new file mode 100644 index 0000000000..10e68f9601 --- /dev/null +++ b/_nuxt/Checkbox.BEbI-N3l.js @@ -0,0 +1 @@ +import{_ as o}from"./Checkbox.vue.2u50CLf1.js";import"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";import"./entry.DMNM28aL.js";export{o as default}; diff --git a/_nuxt/Checkbox.foA5H_JL.js b/_nuxt/Checkbox.foA5H_JL.js deleted file mode 100644 index 5bec55bc24..0000000000 --- a/_nuxt/Checkbox.foA5H_JL.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./Checkbox.vue.i_o1e-gp.js";import"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";import"./entry.q1HaRjkf.js";export{o as default}; diff --git a/_nuxt/Checkbox.vue.i_o1e-gp.js b/_nuxt/Checkbox.vue.2u50CLf1.js similarity index 75% rename from _nuxt/Checkbox.vue.i_o1e-gp.js rename to _nuxt/Checkbox.vue.2u50CLf1.js index 8073e559f0..6b46f6b22d 100644 --- a/_nuxt/Checkbox.vue.i_o1e-gp.js +++ b/_nuxt/Checkbox.vue.2u50CLf1.js @@ -1 +1 @@ -import{u as r}from"./component-v2.sKjNcOqD.js";import{d,an as m,b as i,Y as l,aq as p}from"./entry.q1HaRjkf.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.IsIoIgya.js";import{d,an as m,b as i,Y as l,aq as p}from"./entry.DMNM28aL.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.DmkwCS_v.js b/_nuxt/CheckboxDemo.-2Q_V1r4.js similarity index 57% rename from _nuxt/CheckboxDemo.DmkwCS_v.js rename to _nuxt/CheckboxDemo.-2Q_V1r4.js index 76febac53d..35f61bd59f 100644 --- a/_nuxt/CheckboxDemo.DmkwCS_v.js +++ b/_nuxt/CheckboxDemo.-2Q_V1r4.js @@ -1 +1 @@ -import{_ as i}from"./ThemeButton.vue.VdZg_U5_.js";import{_ as c}from"./Checkbox.vue.i_o1e-gp.js";import{d as p,r as a,b as s,c as d,g as f,L as l,$ as m,e as _,t as k,Y as V}from"./entry.q1HaRjkf.js";import"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),t=a();return(h,e)=>{const r=i,u=c;return s(),d("div",null,[f(r,{modelValue:l(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>t.value="")},null,8,["modelValue"]),_("div",null,k(l(t)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:l(o),modelValue:l(t),"onUpdate:modelValue":e[2]||(e[2]=n=>m(t)?t.value=n:null),theme:l(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; +import{_ as i}from"./ThemeButton.vue.E7xg_z0E.js";import{_ as c}from"./Checkbox.vue.2u50CLf1.js";import{d as p,r as a,b as s,c as d,g as f,L as l,$ as m,e as _,t as k,Y as V}from"./entry.DMNM28aL.js";import"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";const g=p({__name:"CheckboxDemo",setup(v){const o=a("light"),t=a();return(h,e)=>{const r=i,u=c;return s(),d("div",null,[f(r,{modelValue:l(o),"onUpdate:modelValue":e[0]||(e[0]=n=>m(o)?o.value=n:null),onClick:e[1]||(e[1]=n=>t.value="")},null,8,["modelValue"]),_("div",null,k(l(t)?"Verified":"Please click the checkbox"),1),(s(),V(u,{key:l(o),modelValue:l(t),"onUpdate:modelValue":e[2]||(e[2]=n=>m(t)?t.value=n:null),theme:l(o)},null,8,["modelValue","theme"]))])}}});export{g as default}; diff --git a/_nuxt/CodeBlock.P1Dwa4-i.js b/_nuxt/CodeBlock.1eKG1Wpl.js similarity index 69% rename from _nuxt/CodeBlock.P1Dwa4-i.js rename to _nuxt/CodeBlock.1eKG1Wpl.js index 0ac506a76d..1207a109d9 100644 --- a/_nuxt/CodeBlock.P1Dwa4-i.js +++ b/_nuxt/CodeBlock.1eKG1Wpl.js @@ -1 +1 @@ -import{d as o,b as t,c as l,ae as s,n as r,k as c}from"./entry.q1HaRjkf.js";const n=o({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(a,d)=>(t(),l("div",{class:r(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(a.$slots,"default",{},void 0,!0)],2))}}),p=c(n,[["__scopeId","data-v-31606f9f"]]);export{p as default}; +import{d as o,b as t,c as l,ae as s,n as r,k as c}from"./entry.DMNM28aL.js";const n=o({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(a,d)=>(t(),l("div",{class:r(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[s(a.$slots,"default",{},void 0,!0)],2))}}),p=c(n,[["__scopeId","data-v-31606f9f"]]);export{p as default}; diff --git a/_nuxt/CodeGroup.TfR_eiZQ.js b/_nuxt/CodeGroup.mnD6IF-H.js similarity index 88% rename from _nuxt/CodeGroup.TfR_eiZQ.js rename to _nuxt/CodeGroup.mnD6IF-H.js index 1f5aa4e3bc..7628b9c2b6 100644 --- a/_nuxt/CodeGroup.TfR_eiZQ.js +++ b/_nuxt/CodeGroup.mnD6IF-H.js @@ -1 +1 @@ -import b from"./TabsHeader.bMrSb2ui.js";import{d as u,Q as t,k as f}from"./entry.q1HaRjkf.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,o=u({data(){return{activeTabIndex:0,counter:0}},render(){var d,s;const n=((s=(d=this.$slots)==null?void 0:d.default)==null?void 0:s.call(d))||[],i=n.map((e,p)=>{var a,c,v;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((c=e==null?void 0:e.props)==null?void 0:c.label)||`${p}`,active:((v=e==null?void 0:e.props)==null?void 0:v.active)||!1,component:e}});return t("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[t(b,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),t("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,c;return t("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:t("div",{class:{"preview-canvas":!0}},[((c=(a=e.children)==null?void 0:a.default)==null?void 0:c.call(a))||e.children])])}))])}}),h=f(o,[["__scopeId","data-v-b8ed3fdc"]]);export{h as default}; +import b from"./TabsHeader.wVJNPdeP.js";import{d as u,Q as t,k as f}from"./entry.DMNM28aL.js";const r=(n,i)=>n.type&&n.type.tag&&n.type.tag===i,o=u({data(){return{activeTabIndex:0,counter:0}},render(){var d,s;const n=((s=(d=this.$slots)==null?void 0:d.default)==null?void 0:s.call(d))||[],i=n.map((e,p)=>{var a,c,v;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((c=e==null?void 0:e.props)==null?void 0:c.label)||`${p}`,active:((v=e==null?void 0:e.props)==null?void 0:v.active)||!1,component:e}});return t("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[t(b,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:i,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),t("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,c;return t("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")&&!r(e,"pre")}},[r(e,"code")||r(e,"pre")?e:t("div",{class:{"preview-canvas":!0}},[((c=(a=e.children)==null?void 0:a.default)==null?void 0:c.call(a))||e.children])])}))])}}),h=f(o,[["__scopeId","data-v-b8ed3fdc"]]);export{h as default}; diff --git a/_nuxt/ComponentPlayground.6Gam0-wI.js b/_nuxt/ComponentPlayground.7uaKLuVF.js similarity index 85% rename from _nuxt/ComponentPlayground.6Gam0-wI.js rename to _nuxt/ComponentPlayground.7uaKLuVF.js index 035376b9aa..13048df449 100644 --- a/_nuxt/ComponentPlayground.6Gam0-wI.js +++ b/_nuxt/ComponentPlayground.7uaKLuVF.js @@ -1 +1 @@ -import{L as u,aO as S,K as a,d as _,af as $,b as v,c as I,n as w,p as P,i as C,e as x,k as f,ah as D,r as E,Q as c}from"./entry.q1HaRjkf.js";import j from"./ComponentPlaygroundData.6AbGJ9mV.js";import"./TabsHeader.bMrSb2ui.js";import"./ComponentPlaygroundProps.Y4cDKaF3.js";import"./ProseH4.8hu1lHgz.js";import"./ProseCodeInline.kD_4UGIu.js";import"./Badge.Bq0zZl56.js";import"./ProseP.WWHl5OCQ.js";import"./ComponentPlaygroundSlots.vue.cZLjyPCb.js";import"./ComponentPlaygroundTokens.vue.2cSbGLkg.js";async function z(e){const n=u(e);{const{data:o}=await S(`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],O=_({__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)()),h=a(()=>((t=s)=>`blur(${t.blur})`)()),y=a(()=>((t=s)=>{var p,d,m;return`linear-gradient(97.62deg, ${(p=t==null?void 0:t.colors)==null?void 0:p[0]} 2.27%, ${(d=t==null?void 0:t.colors)==null?void 0:d[1]} 50.88%, ${(m=t==null?void 0:t.colors)==null?void 0:m[2]} 98.48%)`})()),s=e,{$pinceau:b}=$(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:h,_yUj_background:y});return(t,p)=>(v(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}}),V=f(O,[["__scopeId","data-v-9dbf5846"]]),q=_({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>D(e.component)),o=E({...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(V,{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})])}}),G=f(q,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; +import{L as u,aO as S,K as a,d as _,af as $,b as v,c as I,n as w,p as P,i as C,e as x,k as f,ah as D,r as E,Q as c}from"./entry.DMNM28aL.js";import j from"./ComponentPlaygroundData.fO7KBkaY.js";import"./TabsHeader.wVJNPdeP.js";import"./ComponentPlaygroundProps.Ec6dzvCJ.js";import"./ProseH4.vtOAJkSq.js";import"./ProseCodeInline.6iI3GoXM.js";import"./Badge._9Rs-duH.js";import"./ProseP.bMR8pn8i.js";import"./ComponentPlaygroundSlots.vue.0V99WfYB.js";import"./ComponentPlaygroundTokens.vue.maqnXcTJ.js";async function z(e){const n=u(e);{const{data:o}=await S(`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],O=_({__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)()),h=a(()=>((t=s)=>`blur(${t.blur})`)()),y=a(()=>((t=s)=>{var p,d,m;return`linear-gradient(97.62deg, ${(p=t==null?void 0:t.colors)==null?void 0:p[0]} 2.27%, ${(d=t==null?void 0:t.colors)==null?void 0:d[1]} 50.88%, ${(m=t==null?void 0:t.colors)==null?void 0:m[2]} 98.48%)`})()),s=e,{$pinceau:b}=$(s,void 0,{_cCN_top:n,_eih_insetInlineStart:o,_IfB_insetInlineEnd:r,_SsE_zIndex:i,_wj8_maxWidth:l,_t33_height:g,_Jfd_filter:h,_yUj_background:y});return(t,p)=>(v(),I("div",{class:w(["ellipsis",[u(b)]])},N,2))}}),V=f(O,[["__scopeId","data-v-9dbf5846"]]),q=_({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(e){const n=a(()=>D(e.component)),o=E({...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(V,{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})])}}),G=f(q,[["__scopeId","data-v-b9c7bb0c"]]);export{G as default}; diff --git a/_nuxt/ComponentPlaygroundData.6AbGJ9mV.js b/_nuxt/ComponentPlaygroundData.fO7KBkaY.js similarity index 63% rename from _nuxt/ComponentPlaygroundData.6AbGJ9mV.js rename to _nuxt/ComponentPlaygroundData.fO7KBkaY.js index 778226f596..526bd6de23 100644 --- a/_nuxt/ComponentPlaygroundData.6AbGJ9mV.js +++ b/_nuxt/ComponentPlaygroundData.fO7KBkaY.js @@ -1 +1 @@ -import y from"./TabsHeader.bMrSb2ui.js";import k from"./ComponentPlaygroundProps.Y4cDKaF3.js";import{_ as x}from"./ComponentPlaygroundSlots.vue.cZLjyPCb.js";import{_ as V}from"./ComponentPlaygroundTokens.vue.2cSbGLkg.js";import{d as g,a1 as v,r as D,b as a,c as C,g as P,L as o,Y as m,$ as T,f as s,k as B}from"./entry.q1HaRjkf.js";import"./ProseH4.8hu1lHgz.js";import"./ProseCodeInline.kD_4UGIu.js";import"./Badge.Bq0zZl56.js";import"./ProseP.WWHl5OCQ.js";const I={class:"component-playground-data"},$=g({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const n=v(t,"modelValue",p),e=D(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=c=>e.value=c;return(c,l)=>{const u=y,i=k,_=x,f=V;return a(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(a(),m(i,{key:0,modelValue:o(n),"onUpdate:modelValue":l[0]||(l[0]=b=>T(n)?n.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(a(),m(_,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(a(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}}),Y=B($,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; +import y from"./TabsHeader.wVJNPdeP.js";import k from"./ComponentPlaygroundProps.Ec6dzvCJ.js";import{_ as x}from"./ComponentPlaygroundSlots.vue.0V99WfYB.js";import{_ as V}from"./ComponentPlaygroundTokens.vue.maqnXcTJ.js";import{d as g,a1 as v,r as D,b as a,c as C,g as P,L as o,Y as m,$ as T,f as s,k as B}from"./entry.DMNM28aL.js";import"./ProseH4.vtOAJkSq.js";import"./ProseCodeInline.6iI3GoXM.js";import"./Badge._9Rs-duH.js";import"./ProseP.bMR8pn8i.js";const I={class:"component-playground-data"},$=g({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:p}){const n=v(t,"modelValue",p),e=D(0),r=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=c=>e.value=c;return(c,l)=>{const u=y,i=k,_=x,f=V;return a(),C("div",I,[P(u,{"active-tab-index":o(e),tabs:r,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),o(e)===0?(a(),m(i,{key:0,modelValue:o(n),"onUpdate:modelValue":l[0]||(l[0]=b=>T(n)?n.value=b:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):s("",!0),o(e)===1?(a(),m(_,{key:1,"component-data":t.componentData},null,8,["component-data"])):s("",!0),o(e)===2?(a(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):s("",!0)])}}}),Y=B($,[["__scopeId","data-v-8b4ea980"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundProps.Y4cDKaF3.js b/_nuxt/ComponentPlaygroundProps.Ec6dzvCJ.js similarity index 81% rename from _nuxt/ComponentPlaygroundProps.Y4cDKaF3.js rename to _nuxt/ComponentPlaygroundProps.Ec6dzvCJ.js index 2eeef06500..0570a133a4 100644 --- a/_nuxt/ComponentPlaygroundProps.Y4cDKaF3.js +++ b/_nuxt/ComponentPlaygroundProps.Ec6dzvCJ.js @@ -1 +1 @@ -import P from"./ProseH4.8hu1lHgz.js";import B from"./ProseCodeInline.kD_4UGIu.js";import b from"./Badge.Bq0zZl56.js";import q from"./ProseP.WWHl5OCQ.js";import{d as D,a1 as N,K as F,b as o,c as m,F as j,aF as w,L as d,e as r,g as i,w as s,t as u,G as c,Y as l,f as p,k as I}from"./entry.q1HaRjkf.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,_=N(a,"modelValue",g),x=(t,n)=>{_.value={..._.value,[n]:t.target.value}},v=F(()=>{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 y=P,h=B,C=b,V=q;return o(),m("div",L,[(o(!0),m(j,null,w(d(v),e=>(o(),m("div",{key:e.name},[r("div",{id:e.name,class:"prop-title"},[i(y,{id:e.name},{default:s(()=>[c(u(e.name),1)]),_:2},1032,["id"]),r("span",null,[i(h,null,{default:s(()=>[c(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),l(C,{key:0},{default:s(()=>[c(" Required ")]),_:1}))])],8,O),e.description?(o(),l(V,{key:0},{default:s(()=>[c(u(e.description),1)]),_:2},1024)):p("",!0),r("input",{value:d(_)[e.name],onChange:k=>x(k,e.name)},null,40,E)]))),128))])}}}),Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; +import P from"./ProseH4.vtOAJkSq.js";import B from"./ProseCodeInline.6iI3GoXM.js";import b from"./Badge._9Rs-duH.js";import q from"./ProseP.bMR8pn8i.js";import{d as D,a1 as N,K as F,b as o,c as m,F as j,aF as w,L as d,e as r,g as i,w as s,t as u,G as c,Y as l,f as p,k as I}from"./entry.DMNM28aL.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,_=N(a,"modelValue",g),x=(t,n)=>{_.value={..._.value,[n]:t.target.value}},v=F(()=>{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 y=P,h=B,C=b,V=q;return o(),m("div",L,[(o(!0),m(j,null,w(d(v),e=>(o(),m("div",{key:e.name},[r("div",{id:e.name,class:"prop-title"},[i(y,{id:e.name},{default:s(()=>[c(u(e.name),1)]),_:2},1032,["id"]),r("span",null,[i(h,null,{default:s(()=>[c(u(e.type),1)]),_:2},1024),e.required?p("",!0):(o(),l(C,{key:0},{default:s(()=>[c(" Required ")]),_:1}))])],8,O),e.description?(o(),l(V,{key:0},{default:s(()=>[c(u(e.description),1)]),_:2},1024)):p("",!0),r("input",{value:d(_)[e.name],onChange:k=>x(k,e.name)},null,40,E)]))),128))])}}}),Y=I(G,[["__scopeId","data-v-382fbe32"]]);export{Y as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.Ef6Sa52j.js b/_nuxt/ComponentPlaygroundSlots.Ef6Sa52j.js new file mode 100644 index 0000000000..d324488320 --- /dev/null +++ b/_nuxt/ComponentPlaygroundSlots.Ef6Sa52j.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundSlots.vue.0V99WfYB.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.NgGOSdxM.js b/_nuxt/ComponentPlaygroundSlots.NgGOSdxM.js deleted file mode 100644 index 4b01718870..0000000000 --- a/_nuxt/ComponentPlaygroundSlots.NgGOSdxM.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundSlots.vue.cZLjyPCb.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundSlots.vue.cZLjyPCb.js b/_nuxt/ComponentPlaygroundSlots.vue.0V99WfYB.js similarity index 80% rename from _nuxt/ComponentPlaygroundSlots.vue.cZLjyPCb.js rename to _nuxt/ComponentPlaygroundSlots.vue.0V99WfYB.js index f00dd277d5..c26063fe28 100644 --- a/_nuxt/ComponentPlaygroundSlots.vue.cZLjyPCb.js +++ b/_nuxt/ComponentPlaygroundSlots.vue.0V99WfYB.js @@ -1 +1 @@ -import{d as t,b as n,c as o,e as a,t as s}from"./entry.q1HaRjkf.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.DMNM28aL.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.3U_NfJtG.js b/_nuxt/ComponentPlaygroundTokens.3U_NfJtG.js deleted file mode 100644 index f0eef0ef6a..0000000000 --- a/_nuxt/ComponentPlaygroundTokens.3U_NfJtG.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundTokens.vue.2cSbGLkg.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.b0fT7zSI.js b/_nuxt/ComponentPlaygroundTokens.b0fT7zSI.js new file mode 100644 index 0000000000..6e7a036979 --- /dev/null +++ b/_nuxt/ComponentPlaygroundTokens.b0fT7zSI.js @@ -0,0 +1 @@ +import{_ as m}from"./ComponentPlaygroundTokens.vue.maqnXcTJ.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/ComponentPlaygroundTokens.vue.2cSbGLkg.js b/_nuxt/ComponentPlaygroundTokens.vue.maqnXcTJ.js similarity index 77% rename from _nuxt/ComponentPlaygroundTokens.vue.2cSbGLkg.js rename to _nuxt/ComponentPlaygroundTokens.vue.maqnXcTJ.js index b5c1305c59..8ddb217177 100644 --- a/_nuxt/ComponentPlaygroundTokens.vue.2cSbGLkg.js +++ b/_nuxt/ComponentPlaygroundTokens.vue.maqnXcTJ.js @@ -1 +1 @@ -import{d as t,b as o,c as n,t as a}from"./entry.q1HaRjkf.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.DMNM28aL.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.zKgHGiDN.js b/_nuxt/ContentDoc.B9HE1ddj.js similarity index 86% rename from _nuxt/ContentDoc.zKgHGiDN.js rename to _nuxt/ContentDoc.B9HE1ddj.js index 8f5a38f7b6..62a9270f8c 100644 --- a/_nuxt/ContentDoc.zKgHGiDN.js +++ b/_nuxt/ContentDoc.B9HE1ddj.js @@ -1 +1 @@ -import{d as g,l as C,ag as v,aR as D,s as w,Q as o,X as p}from"./entry.q1HaRjkf.js";import _ from"./ContentRenderer.VKSxfKNo.js";import S from"./ContentQuery.NB3OFZ9d.js";import"./ContentRendererMarkdown.vue.YjSLEWnk.js";const q=g({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}=C().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 g,l as C,ag as v,aR as D,s as w,Q as o,X as p}from"./entry.DMNM28aL.js";import _ from"./ContentRenderer.tFbNhKMt.js";import S from"./ContentQuery.M0_kloZa.js";import"./ContentRendererMarkdown.vue.4k77k0Ub.js";const q=g({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}=C().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.82B4DZ2X.js b/_nuxt/ContentList.jndH3Itx.js similarity index 84% rename from _nuxt/ContentList.82B4DZ2X.js rename to _nuxt/ContentList.jndH3Itx.js index 2678ba4119..33c916b2db 100644 --- a/_nuxt/ContentList.82B4DZ2X.js +++ b/_nuxt/ContentList.jndH3Itx.js @@ -1 +1 @@ -import m from"./ContentQuery.NB3OFZ9d.js";import{d as c,ag as l,Q as r}from"./entry.q1HaRjkf.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.M0_kloZa.js";import{d as c,ag as l,Q as r}from"./entry.DMNM28aL.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.N2krgy4q.js b/_nuxt/ContentNavigation.aswf_l73.js similarity index 92% rename from _nuxt/ContentNavigation.N2krgy4q.js rename to _nuxt/ContentNavigation.aswf_l73.js index 9d6f90be60..908ea21351 100644 --- a/_nuxt/ContentNavigation.N2krgy4q.js +++ b/_nuxt/ContentNavigation.aswf_l73.js @@ -1 +1 @@ -import{d,aS as l,K as v,m as f,W as p,aO as g,aU as m,aT as h,ag as y,Q as u,H as _}from"./entry.q1HaRjkf.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 g(`content-navigation-${h(n.value)}`,()=>m(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,aS as l,K as v,m as f,W as p,aO as g,aU as m,aT as h,ag as y,Q as u,H as _}from"./entry.DMNM28aL.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 g(`content-navigation-${h(n.value)}`,()=>m(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.NB3OFZ9d.js b/_nuxt/ContentQuery.M0_kloZa.js similarity index 97% rename from _nuxt/ContentQuery.NB3OFZ9d.js rename to _nuxt/ContentQuery.M0_kloZa.js index 5efbfba101..1c2a1443e5 100644 --- a/_nuxt/ContentQuery.NB3OFZ9d.js +++ b/_nuxt/ContentQuery.M0_kloZa.js @@ -1 +1 @@ -import{d as g,aS as S,K as C,l as b,a7 as O,aO as Q,q as m,aT as _,ag as k,Q as A}from"./entry.q1HaRjkf.js";const N=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}=S(i),p=C(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;O(()=>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 Q(`content-query-${_(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=k(),{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)=>A("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),R=N;export{R as default}; +import{d as g,aS as S,K as C,l as b,a7 as O,aO as Q,q as m,aT as _,ag as k,Q as A}from"./entry.DMNM28aL.js";const N=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}=S(i),p=C(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),y=!b().public.content.experimental.advanceQuery;O(()=>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 Q(`content-query-${_(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=k(),{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)=>A("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:u})}}),R=N;export{R as default}; diff --git a/_nuxt/ContentRenderer.VKSxfKNo.js b/_nuxt/ContentRenderer.tFbNhKMt.js similarity index 89% rename from _nuxt/ContentRenderer.VKSxfKNo.js rename to _nuxt/ContentRenderer.tFbNhKMt.js index b935a0b703..67dc28bead 100644 --- a/_nuxt/ContentRenderer.VKSxfKNo.js +++ b/_nuxt/ContentRenderer.tFbNhKMt.js @@ -1 +1 @@ -import{_ as l}from"./ContentRendererMarkdown.vue.YjSLEWnk.js";import{d as o,a7 as s,ag as d,Q as f}from"./entry.q1HaRjkf.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.4k77k0Ub.js";import{d as o,a7 as s,ag as d,Q as f}from"./entry.DMNM28aL.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.42Ch2eVw.js b/_nuxt/ContentRendererMarkdown.42Ch2eVw.js new file mode 100644 index 0000000000..bc9e3942dc --- /dev/null +++ b/_nuxt/ContentRendererMarkdown.42Ch2eVw.js @@ -0,0 +1 @@ +import{_ as m}from"./ContentRendererMarkdown.vue.4k77k0Ub.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.qrNK7OQe.js b/_nuxt/ContentRendererMarkdown.qrNK7OQe.js deleted file mode 100644 index e6cf73b987..0000000000 --- a/_nuxt/ContentRendererMarkdown.qrNK7OQe.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ContentRendererMarkdown.vue.YjSLEWnk.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/ContentRendererMarkdown.vue.YjSLEWnk.js b/_nuxt/ContentRendererMarkdown.vue.4k77k0Ub.js similarity index 99% rename from _nuxt/ContentRendererMarkdown.vue.YjSLEWnk.js rename to _nuxt/ContentRendererMarkdown.vue.4k77k0Ub.js index 394e54304e..951c799658 100644 --- a/_nuxt/ContentRendererMarkdown.vue.YjSLEWnk.js +++ b/_nuxt/ContentRendererMarkdown.vue.4k77k0Ub.js @@ -1 +1 @@ -import{d as E,l as J,D as G,Q as R,ah as U,ai as Q,aj as C,s as nn,ak as ln,al as en,K as w,b as on,Y as tn,L as rn}from"./entry.q1HaRjkf.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,ah as U,ai as Q,aj as C,s as nn,ak as ln,al as en,K as w,b as on,Y as tn,L as rn}from"./entry.DMNM28aL.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.6G6kJV58.js b/_nuxt/ContentSlot.6G6kJV58.js new file mode 100644 index 0000000000..c130aef7c2 --- /dev/null +++ b/_nuxt/ContentSlot.6G6kJV58.js @@ -0,0 +1 @@ +import{_ as n}from"./MDCSlot.MN43rXdf.js";import{d as o,Q as t}from"./entry.DMNM28aL.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.hwWIYXww.js b/_nuxt/ContentSlot.hwWIYXww.js deleted file mode 100644 index eabb8e128e..0000000000 --- a/_nuxt/ContentSlot.hwWIYXww.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n}from"./MDCSlot.2zHBmkna.js";import{d as o,Q as t}from"./entry.q1HaRjkf.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.bRE_TWd1.js b/_nuxt/CopyButton.y_8t9_on.js similarity index 90% rename from _nuxt/CopyButton.bRE_TWd1.js rename to _nuxt/CopyButton.y_8t9_on.js index 6a91e0b836..a16b141c94 100644 --- a/_nuxt/CopyButton.bRE_TWd1.js +++ b/_nuxt/CopyButton.y_8t9_on.js @@ -1 +1 @@ -import{d as l,aH as i,r as u,b as e,c as d,L as m,Y as t,a2 as y}from"./entry.q1HaRjkf.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,aH as i,r as u,b as e,c as d,L as m,Y as t,a2 as y}from"./entry.DMNM28aL.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.gNXJa-Bf.js b/_nuxt/DocsAside.7iaOVwMX.js similarity index 89% rename from _nuxt/DocsAside.gNXJa-Bf.js rename to _nuxt/DocsAside.7iaOVwMX.js index 319a6c7ae7..e461384a78 100644 --- a/_nuxt/DocsAside.gNXJa-Bf.js +++ b/_nuxt/DocsAside.7iaOVwMX.js @@ -1 +1 @@ -import{d as l,ax as r,b as o,c as u,L as t,Y as c,w as i,g as d,ay as m,a2 as k,H as x,p as f,i as h,e as b,k as I}from"./entry.q1HaRjkf.js";const w=e=>(f("data-v-052bc4ea"),e=e(),h(),e),B=w(()=>b("span",{class:"text"},"Go back",-1)),g=l({__name:"DocsAside",setup(e){const{tree:n}=r();return(v,y)=>{var s;const a=m,_=k,p=x;return o(),u("nav",null,[((s=t(n))==null?void 0:s.length)>0?(o(),c(a,{key:0,links:t(n)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:i(()=>[d(_,{name:"heroicons-outline:arrow-left",class:"icon"}),B]),_:1}))])}}}),N=I(g,[["__scopeId","data-v-052bc4ea"]]);export{N as default}; +import{d as l,ax as r,b as o,c as u,L as t,Y as c,w as i,g as d,ay as m,a2 as k,H as x,p as f,i as h,e as b,k as I}from"./entry.DMNM28aL.js";const w=e=>(f("data-v-052bc4ea"),e=e(),h(),e),B=w(()=>b("span",{class:"text"},"Go back",-1)),g=l({__name:"DocsAside",setup(e){const{tree:n}=r();return(v,y)=>{var s;const a=m,_=k,p=x;return o(),u("nav",null,[((s=t(n))==null?void 0:s.length)>0?(o(),c(a,{key:0,links:t(n)},null,8,["links"])):(o(),c(p,{key:1,to:"/",class:"go-back-link"},{default:i(()=>[d(_,{name:"heroicons-outline:arrow-left",class:"icon"}),B]),_:1}))])}}}),N=I(g,[["__scopeId","data-v-052bc4ea"]]);export{N as default}; diff --git a/_nuxt/DocsPageBottom.lBgf0KZa.js b/_nuxt/DocsPageBottom.UiQFbxFH.js similarity index 87% rename from _nuxt/DocsPageBottom.lBgf0KZa.js rename to _nuxt/DocsPageBottom.UiQFbxFH.js index cd67b25f3f..cf9f6d2826 100644 --- a/_nuxt/DocsPageBottom.lBgf0KZa.js +++ b/_nuxt/DocsPageBottom.UiQFbxFH.js @@ -1 +1 @@ -import{d as h,W as b,ax as x,L as t,b as a,c as s,g as n,w as d,f as _,G as k,e as m,t as I,a2 as D,p as S,i as v,k as w}from"./entry.q1HaRjkf.js";import y from"./ProseA.gJO5IhDn.js";import{_ as B}from"./EditOnLink.vue.hSdYNdSH.js";const C=e=>(S("data-v-2b2fba6f"),e=e(),v(),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)),G={key:1},L=h({__name:"DocsPageBottom",setup(e){const{page:o}=b(),{config:r}=x();return(P,T)=>{var c,p,i;const u=D,f=y,l=B;return t(o)?(a(),s("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(a(),s("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?(a(),s("span",G,[k("Updated on "),m("b",null,I(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}}),H=w(L,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; +import{d as h,W as b,ax as x,L as t,b as a,c as s,g as n,w as d,f as _,G as k,e as m,t as I,a2 as D,p as S,i as v,k as w}from"./entry.DMNM28aL.js";import y from"./ProseA.OkKrpPKJ.js";import{_ as B}from"./EditOnLink.vue.kjMGI45_.js";const C=e=>(S("data-v-2b2fba6f"),e=e(),v(),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)),G={key:1},L=h({__name:"DocsPageBottom",setup(e){const{page:o}=b(),{config:r}=x();return(P,T)=>{var c,p,i;const u=D,f=y,l=B;return t(o)?(a(),s("div",N,[(p=(c=t(r))==null?void 0:c.github)!=null&&p.edit?(a(),s("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?(a(),s("span",G,[k("Updated on "),m("b",null,I(new Intl.DateTimeFormat("en-US").format(Date.parse(t(o).mtime))),1)])):_("",!0)])):_("",!0)}}}),H=w(L,[["__scopeId","data-v-2b2fba6f"]]);export{H as default}; diff --git a/_nuxt/DocsPageLayout.oVaLCwTp.js b/_nuxt/DocsPageLayout.UPR5IpQ_.js similarity index 85% rename from _nuxt/DocsPageLayout.oVaLCwTp.js rename to _nuxt/DocsPageLayout.UPR5IpQ_.js index 1b22f77470..9a4f86bb7c 100644 --- a/_nuxt/DocsPageLayout.oVaLCwTp.js +++ b/_nuxt/DocsPageLayout.UPR5IpQ_.js @@ -1 +1 @@ -import O from"./DocsAside.gNXJa-Bf.js";import R from"./ProseCodeInline.kD_4UGIu.js";import{d as U,W,ax as Y,s as q,K as m,r as V,m as J,o as Q,a8 as X,b as p,Y as A,w as h,L as t,c as g,g as r,f as x,e as _,ae as Z,G as k,t as ee,F as oe,n as y,aA as te,a2 as ae,aB as ne,p as se,i as ce,k as le}from"./entry.q1HaRjkf.js";import re from"./DocsPageBottom.lBgf0KZa.js";import ie from"./DocsPrevNext.Pin13daV.js";import ue from"./DocsToc.Rer6PIHw.js";import"./ProseA.gJO5IhDn.js";import"./EditOnLink.vue.hSdYNdSH.js";import"./DocsTocLinks.KwT3TIqY.js";const pe=d=>(se("data-v-331382a7"),d=d(),ce(),d),_e={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=pe(()=>_("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:n}=W(),{config:f,tree:T}=Y(),F=q(),H=(e,o=!0)=>{var a;return typeof((a=n.value)==null?void 0:a[e])<"u"?n.value[e]:o},S=m(()=>{var e,o,a;return!n.value||((a=(o=(e=n.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),b=m(()=>{var e,o,a,c,l;return((e=n.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=n.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),C=m(()=>{var e,o,a,c,l;return((e=n.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))}),L=m(()=>H("bottom",!0)),i=V(!1),s=V(null),v=()=>F.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=s.value)==null?void 0:e.scrollTop)||0}});function P(){s.value&&(s.value.scrollHeight===0&&setTimeout(P,0),s.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):P()}),X(()=>{s.value&&(u.value.scrollTop=s.value.scrollTop)}),(e,o)=>{var B,w,D,N,I,$;const a=O,c=R,l=te,M=re,j=ie,z=ae,E=ue,G=ne;return p(),A(G,{fluid:(w=(B=t(f))==null?void 0:B.main)==null?void 0:w.fluid,padded:(N=(D=t(f))==null?void 0:D.main)==null?void 0:N.padded,class:y(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(b),"has-aside":t(C)}])},{default:h(()=>[t(C)?(p(),g("aside",{key:0,ref_key:"asideNav",ref:s,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):x("",!0),_("article",_e,[t(S)?Z(e.$slots,"default",{key:0},void 0,!0):(p(),A(l,{key:1,type:"info"},{default:h(()=>[k(" Start writing in "),r(c,null,{default:h(()=>[k("content/"+ee(t(n)._file),1)]),_:1}),k(" to see this page taking shape. ")]),_:1})),t(S)&&t(n)&&t(L)?(p(),g(oe,{key:2},[r(M),r(j)],64)):x("",!0)]),t(b)?(p(),g("div",de,[_("div",me,[_("button",{onClick:o[0]||(o[0]=K=>i.value=!t(i))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:y(["icon",[t(i)&&"rotate"]])},null,8,["class"])]),_("div",{class:y(["docs-toc-wrapper",[t(i)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>i.value=!1)})],2)])])):x("",!0)]),_:3},8,["fluid","padded","class"])}}}),Pe=le(ve,[["__scopeId","data-v-331382a7"]]);export{Pe as default}; +import O from"./DocsAside.7iaOVwMX.js";import R from"./ProseCodeInline.6iI3GoXM.js";import{d as U,W,ax as Y,s as q,K as m,r as V,m as J,o as Q,a8 as X,b as p,Y as A,w as h,L as t,c as g,g as r,f as x,e as _,ae as Z,G as k,t as ee,F as oe,n as y,aA as te,a2 as ae,aB as ne,p as se,i as ce,k as le}from"./entry.DMNM28aL.js";import re from"./DocsPageBottom.UiQFbxFH.js";import ie from"./DocsPrevNext.fgev8I6q.js";import ue from"./DocsToc.wB-Mh8u5.js";import"./ProseA.OkKrpPKJ.js";import"./EditOnLink.vue.kjMGI45_.js";import"./DocsTocLinks.jJ8TPMe2.js";const pe=d=>(se("data-v-331382a7"),d=d(),ce(),d),_e={class:"page-body"},de={key:1,class:"toc"},me={class:"toc-wrapper"},fe=pe(()=>_("span",{class:"title"},"Table of Contents",-1)),ve=U({__name:"DocsPageLayout",setup(d){const{page:n}=W(),{config:f,tree:T}=Y(),F=q(),H=(e,o=!0)=>{var a;return typeof((a=n.value)==null?void 0:a[e])<"u"?n.value[e]:o},S=m(()=>{var e,o,a;return!n.value||((a=(o=(e=n.value)==null?void 0:e.body)==null?void 0:o.children)==null?void 0:a.length)>0}),b=m(()=>{var e,o,a,c,l;return((e=n.value)==null?void 0:e.toc)!==!1&&((l=(c=(a=(o=n.value)==null?void 0:o.body)==null?void 0:a.toc)==null?void 0:c.links)==null?void 0:l.length)>=2}),C=m(()=>{var e,o,a,c,l;return((e=n.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))}),L=m(()=>H("bottom",!0)),i=V(!1),s=V(null),v=()=>F.path.split("/").slice(0,2).join("/"),u=J("asideScroll",()=>{var e;return{parentPath:v(),scrollTop:((e=s.value)==null?void 0:e.scrollTop)||0}});function P(){s.value&&(s.value.scrollHeight===0&&setTimeout(P,0),s.value.scrollTop=u.value.scrollTop)}return Q(()=>{u.value.parentPath!==v()?(u.value.parentPath=v(),u.value.scrollTop=0):P()}),X(()=>{s.value&&(u.value.scrollTop=s.value.scrollTop)}),(e,o)=>{var B,w,D,N,I,$;const a=O,c=R,l=te,M=re,j=ie,z=ae,E=ue,G=ne;return p(),A(G,{fluid:(w=(B=t(f))==null?void 0:B.main)==null?void 0:w.fluid,padded:(N=(D=t(f))==null?void 0:D.main)==null?void 0:N.padded,class:y(["docs-page-content",{fluid:($=(I=t(f))==null?void 0:I.main)==null?void 0:$.fluid,"has-toc":t(b),"has-aside":t(C)}])},{default:h(()=>[t(C)?(p(),g("aside",{key:0,ref_key:"asideNav",ref:s,class:"aside-nav"},[r(a,{class:"app-aside"})],512)):x("",!0),_("article",_e,[t(S)?Z(e.$slots,"default",{key:0},void 0,!0):(p(),A(l,{key:1,type:"info"},{default:h(()=>[k(" Start writing in "),r(c,null,{default:h(()=>[k("content/"+ee(t(n)._file),1)]),_:1}),k(" to see this page taking shape. ")]),_:1})),t(S)&&t(n)&&t(L)?(p(),g(oe,{key:2},[r(M),r(j)],64)):x("",!0)]),t(b)?(p(),g("div",de,[_("div",me,[_("button",{onClick:o[0]||(o[0]=K=>i.value=!t(i))},[fe,r(z,{name:"heroicons-outline:chevron-right",class:y(["icon",[t(i)&&"rotate"]])},null,8,["class"])]),_("div",{class:y(["docs-toc-wrapper",[t(i)&&"opened"]])},[r(E,{onMove:o[1]||(o[1]=K=>i.value=!1)})],2)])])):x("",!0)]),_:3},8,["fluid","padded","class"])}}}),Pe=le(ve,[["__scopeId","data-v-331382a7"]]);export{Pe as default}; diff --git a/_nuxt/DocsPrevNext.Pin13daV.js b/_nuxt/DocsPrevNext.fgev8I6q.js similarity index 95% rename from _nuxt/DocsPrevNext.Pin13daV.js rename to _nuxt/DocsPrevNext.fgev8I6q.js index 386d178864..7948167e11 100644 --- a/_nuxt/DocsPrevNext.Pin13daV.js +++ b/_nuxt/DocsPrevNext.fgev8I6q.js @@ -1 +1 @@ -import{d as y,W as f,L as t,b as a,c as r,Y as h,w as u,g as m,t as p,f as i,e as l,aC as k,a2 as g,H as w,aD as C,k as N}from"./entry.q1HaRjkf.js";const B={key:0,class:"docs-prev-next"},D={class:"wrapper"},b={key:0,class:"directory"},V={class:"title"},F={key:1},H={class:"wrapper"},I={key:0,class:"directory"},L={class:"title"},P=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=C(),c=d=>{var n;const _=x(d._path,v.value||[]);if(_&&_[0])return((n=_[0])==null?void 0:n._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,_)=>{const n=g,o=w;return t(e)||t(s)?(a(),r("div",B,[t(e)&&t(e)._path?(a(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(n,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),l("div",D,[c(t(e)._path)?(a(),r("span",b,p(c(t(e)._path)),1)):i("",!0),l("span",V,p(t(e).title),1)])]),_:1},8,["to"])):(a(),r("span",F)),t(s)&&t(s)._path?(a(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[l("div",H,[c(t(s)._path)?(a(),r("span",I,p(c(t(s)._path)),1)):i("",!0),l("span",L,p(t(s).title),1)]),m(n,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):i("",!0)])):i("",!0)}}}),W=N(P,[["__scopeId","data-v-9256bb11"]]);export{W as default}; +import{d as y,W as f,L as t,b as a,c as r,Y as h,w as u,g as m,t as p,f as i,e as l,aC as k,a2 as g,H as w,aD as C,k as N}from"./entry.DMNM28aL.js";const B={key:0,class:"docs-prev-next"},D={class:"wrapper"},b={key:0,class:"directory"},V={class:"title"},F={key:1},H={class:"wrapper"},I={key:0,class:"directory"},L={class:"title"},P=y({__name:"DocsPrevNext",setup(j){const{prev:e,next:s,navigation:v}=f(),{navDirFromPath:x}=C(),c=d=>{var n;const _=x(d._path,v.value||[]);if(_&&_[0])return((n=_[0])==null?void 0:n._path)??"";{const o=d.split("/");return(o.length>1?o[o.length-2]:"").split("-").map(k).join(" ")}};return(d,_)=>{const n=g,o=w;return t(e)||t(s)?(a(),r("div",B,[t(e)&&t(e)._path?(a(),h(o,{key:0,to:t(e)._path,class:"prev"},{default:u(()=>[m(n,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),l("div",D,[c(t(e)._path)?(a(),r("span",b,p(c(t(e)._path)),1)):i("",!0),l("span",V,p(t(e).title),1)])]),_:1},8,["to"])):(a(),r("span",F)),t(s)&&t(s)._path?(a(),h(o,{key:2,to:t(s)._path,class:"next"},{default:u(()=>[l("div",H,[c(t(s)._path)?(a(),r("span",I,p(c(t(s)._path)),1)):i("",!0),l("span",L,p(t(s).title),1)]),m(n,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):i("",!0)])):i("",!0)}}}),W=N(P,[["__scopeId","data-v-9256bb11"]]);export{W as default}; diff --git a/_nuxt/DocsToc.Rer6PIHw.js b/_nuxt/DocsToc.wB-Mh8u5.js similarity index 80% rename from _nuxt/DocsToc.Rer6PIHw.js rename to _nuxt/DocsToc.wB-Mh8u5.js index 63a6c04ba1..18eae1514a 100644 --- a/_nuxt/DocsToc.Rer6PIHw.js +++ b/_nuxt/DocsToc.wB-Mh8u5.js @@ -1 +1 @@ -import r from"./DocsTocLinks.KwT3TIqY.js";import{d as l,W as u,b as c,c as a,L as _,F as f,g as k,f as v,p as x,i as h,e as p,k as C}from"./entry.q1HaRjkf.js";const I=e=>(x("data-v-6964a4e8"),e=e(),h(),e),g={class:"docs-toc"},B=I(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),N=l({__name:"DocsToc",emits:["move"],setup(e,{emit:i}){const{toc:o}=u(),m=i;return(S,t)=>{var s,n;const d=r;return c(),a("div",g,[(n=(s=_(o))==null?void 0:s.links)!=null&&n.length?(c(),a(f,{key:0},[B,k(d,{links:_(o).links,onMove:t[0]||(t[0]=T=>m("move"))},null,8,["links"])],64)):v("",!0)])}}}),D=C(N,[["__scopeId","data-v-6964a4e8"]]);export{D as default}; +import r from"./DocsTocLinks.jJ8TPMe2.js";import{d as l,W as u,b as c,c as a,L as _,F as f,g as k,f as v,p as x,i as h,e as p,k as C}from"./entry.DMNM28aL.js";const I=e=>(x("data-v-6964a4e8"),e=e(),h(),e),g={class:"docs-toc"},B=I(()=>p("div",{class:"docs-toc-title"},[p("span",null,"Table of Contents")],-1)),N=l({__name:"DocsToc",emits:["move"],setup(e,{emit:i}){const{toc:o}=u(),m=i;return(S,t)=>{var s,n;const d=r;return c(),a("div",g,[(n=(s=_(o))==null?void 0:s.links)!=null&&n.length?(c(),a(f,{key:0},[B,k(d,{links:_(o).links,onMove:t[0]||(t[0]=T=>m("move"))},null,8,["links"])],64)):v("",!0)])}}}),D=C(N,[["__scopeId","data-v-6964a4e8"]]);export{D as default}; diff --git a/_nuxt/DocsTocLinks.KwT3TIqY.js b/_nuxt/DocsTocLinks.jJ8TPMe2.js similarity index 96% rename from _nuxt/DocsTocLinks.KwT3TIqY.js rename to _nuxt/DocsTocLinks.jJ8TPMe2.js index 7342514269..da74d9900f 100644 --- a/_nuxt/DocsTocLinks.KwT3TIqY.js +++ b/_nuxt/DocsTocLinks.jJ8TPMe2.js @@ -1 +1 @@ -import{r as d,a7 as _,aE as g,a8 as k,d as y,u as b,b as u,c as m,F as x,aF as B,n as h,e as C,t as H,L as S,aG as A,Y as q,f as E,k as L}from"./entry.q1HaRjkf.js";const M=()=>{const a=d(),s=d([]),c=d([]),l=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),i=e=>e.forEach(t=>{a.value.observe(t)});return _(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(l)),k(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:i}},T={class:"docs-toc-links"},$=["href","onClick"],w=y({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,l=b(),{activeHeadings:i,updateHeadings:e}=M();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){l.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const f=D;return u(),m("ul",T,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:h([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:h([S(i).includes(o.id)&&"active"]),onClick:A(p=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),q(f,{key:0,links:o.children,onMove:v[0]||(v[0]=p=>r(p))},null,8,["links"])):E("",!0)],2))),128))])}}}),D=L(w,[["__scopeId","data-v-026480db"]]);export{D as default}; +import{r as d,a7 as _,aE as g,a8 as k,d as y,u as b,b as u,c as m,F as x,aF as B,n as h,e as C,t as H,L as S,aG as A,Y as q,f as E,k as L}from"./entry.DMNM28aL.js";const M=()=>{const a=d(),s=d([]),c=d([]),l=e=>e.forEach(t=>{const r=t.target.id;t.isIntersecting?s.value.push(r):s.value=s.value.filter(n=>n!==r)}),i=e=>e.forEach(t=>{a.value.observe(t)});return _(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>a.value=new IntersectionObserver(l)),k(()=>{var e;return(e=a.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:i}},T={class:"docs-toc-links"},$=["href","onClick"],w=y({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(a,{emit:s}){const c=s,l=b(),{activeHeadings:i,updateHeadings:e}=M();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){l.push(`#${n}`),c("move",n)}function r(n){c("move",n)}return(n,v)=>{const f=D;return u(),m("ul",T,[(u(!0),m(x,null,B(a.links,o=>(u(),m("li",{key:o.text,class:h([`depth-${o.depth}`])},[C("a",{href:`#${o.id}`,class:h([S(i).includes(o.id)&&"active"]),onClick:A(p=>t(o.id),["prevent"])},H(o.text),11,$),o.children?(u(),q(f,{key:0,links:o.children,onMove:v[0]||(v[0]=p=>r(p))},null,8,["links"])):E("",!0)],2))),128))])}}}),D=L(w,[["__scopeId","data-v-026480db"]]);export{D as default}; diff --git a/_nuxt/DocumentDrivenEmpty.HXWh7bUT.js b/_nuxt/DocumentDrivenEmpty.kiIWIMj7.js similarity index 77% rename from _nuxt/DocumentDrivenEmpty.HXWh7bUT.js rename to _nuxt/DocumentDrivenEmpty.kiIWIMj7.js index 9ec5c47851..f76f6eebcd 100644 --- a/_nuxt/DocumentDrivenEmpty.HXWh7bUT.js +++ b/_nuxt/DocumentDrivenEmpty.kiIWIMj7.js @@ -1 +1 @@ -import{d as n,Q as e}from"./entry.q1HaRjkf.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.DMNM28aL.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.-yF2pn-z.js b/_nuxt/DocumentDrivenNotFound.Nj5zZt7K.js similarity index 81% rename from _nuxt/DocumentDrivenNotFound.-yF2pn-z.js rename to _nuxt/DocumentDrivenNotFound.Nj5zZt7K.js index ca957bd0eb..155ba6bd69 100644 --- a/_nuxt/DocumentDrivenNotFound.-yF2pn-z.js +++ b/_nuxt/DocumentDrivenNotFound.Nj5zZt7K.js @@ -1 +1 @@ -import s from"./ButtonLink.w20vZM51.js";import{k as c,b as a,c as _,e,g as i,w as d,G as r,p,i as l}from"./entry.q1HaRjkf.js";const u={},t=o=>(p("data-v-581efae0"),o=o(),l(),o),h={class:"document-driven-not-found not-prose"},f=t(()=>e("p",null," 404 ",-1)),m={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 a(),_("div",h,[e("main",null,[f,e("div",m,[v,e("div",x,[i(n,{href:"/",size:"large",variant:"primary"},{default:d(()=>[r(" Go back home ")]),_:1})])])])])}const N=c(u,[["render",k],["__scopeId","data-v-581efae0"]]);export{N as default}; +import s from"./ButtonLink.JsHDRO_1.js";import{k as c,b as a,c as _,e,g as i,w as d,G as r,p,i as l}from"./entry.DMNM28aL.js";const u={},t=o=>(p("data-v-581efae0"),o=o(),l(),o),h={class:"document-driven-not-found not-prose"},f=t(()=>e("p",null," 404 ",-1)),m={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 a(),_("div",h,[e("main",null,[f,e("div",m,[v,e("div",x,[i(n,{href:"/",size:"large",variant:"primary"},{default:d(()=>[r(" Go back home ")]),_:1})])])])])}const N=c(u,[["render",k],["__scopeId","data-v-581efae0"]]);export{N as default}; diff --git a/_nuxt/EditOnLink.3mKQAlG-.js b/_nuxt/EditOnLink.3mKQAlG-.js new file mode 100644 index 0000000000..3f99ce9071 --- /dev/null +++ b/_nuxt/EditOnLink.3mKQAlG-.js @@ -0,0 +1 @@ +import{_ as m}from"./EditOnLink.vue.kjMGI45_.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/EditOnLink.Fqrz7wh7.js b/_nuxt/EditOnLink.Fqrz7wh7.js deleted file mode 100644 index e0ff94353f..0000000000 --- a/_nuxt/EditOnLink.Fqrz7wh7.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./EditOnLink.vue.hSdYNdSH.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/EditOnLink.vue.hSdYNdSH.js b/_nuxt/EditOnLink.vue.kjMGI45_.js similarity index 94% rename from _nuxt/EditOnLink.vue.hSdYNdSH.js rename to _nuxt/EditOnLink.vue.kjMGI45_.js index ff3ea28350..5b45198dcc 100644 --- a/_nuxt/EditOnLink.vue.hSdYNdSH.js +++ b/_nuxt/EditOnLink.vue.kjMGI45_.js @@ -1 +1 @@ -import{d as v,x as u,K as d,az as w,ag as p}from"./entry.q1HaRjkf.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,az as w,ag as p}from"./entry.DMNM28aL.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.UJCrcBeT.js b/_nuxt/Ellipsis.PNOchgsh.js similarity index 95% rename from _nuxt/Ellipsis.UJCrcBeT.js rename to _nuxt/Ellipsis.PNOchgsh.js index 827a3ad8fd..c7ef0dff74 100644 --- a/_nuxt/Ellipsis.UJCrcBeT.js +++ b/_nuxt/Ellipsis.PNOchgsh.js @@ -1 +1 @@ -import{d as m,K as a,af as S,b as y,c as I,n as b,L as p,p as x,i as $,e as v,k as E}from"./entry.q1HaRjkf.js";const k=n=>(x("data-v-2490f91e"),n=n(),$(),n),w=k(()=>v("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(n){const l=a(()=>((t=e)=>t.top)()),o=a(()=>((t=e)=>t.left)()),d=a(()=>((t=e)=>t.right)()),_=a(()=>((t=e)=>t.zIndex)()),r=a(()=>((t=e)=>t.width)()),u=a(()=>((t=e)=>t.height)()),f=a(()=>((t=e)=>`blur(${t.blur})`)()),g=a(()=>((t=e)=>{var i,s,c;return`linear-gradient(97.62deg, ${(i=t==null?void 0:t.colors)==null?void 0:i[0]} 2.27%, ${(s=t==null?void 0:t.colors)==null?void 0:s[1]} 50.88%, ${(c=t==null?void 0:t.colors)==null?void 0:c[2]} 98.48%)`})()),e=n,{$pinceau:h}=S(e,void 0,{_cCN_top:l,_eih_insetInlineStart:o,_IfB_insetInlineEnd:d,_SsE_zIndex:_,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,i)=>(y(),I("div",{class:b(["ellipsis",[p(h)]])},z,2))}}),j=E(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; +import{d as m,K as a,af as S,b as y,c as I,n as b,L as p,p as x,i as $,e as v,k as E}from"./entry.DMNM28aL.js";const k=n=>(x("data-v-2490f91e"),n=n(),$(),n),w=k(()=>v("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(n){const l=a(()=>((t=e)=>t.top)()),o=a(()=>((t=e)=>t.left)()),d=a(()=>((t=e)=>t.right)()),_=a(()=>((t=e)=>t.zIndex)()),r=a(()=>((t=e)=>t.width)()),u=a(()=>((t=e)=>t.height)()),f=a(()=>((t=e)=>`blur(${t.blur})`)()),g=a(()=>((t=e)=>{var i,s,c;return`linear-gradient(97.62deg, ${(i=t==null?void 0:t.colors)==null?void 0:i[0]} 2.27%, ${(s=t==null?void 0:t.colors)==null?void 0:s[1]} 50.88%, ${(c=t==null?void 0:t.colors)==null?void 0:c[2]} 98.48%)`})()),e=n,{$pinceau:h}=S(e,void 0,{_cCN_top:l,_eih_insetInlineStart:o,_IfB_insetInlineEnd:d,_SsE_zIndex:_,_wj8_maxWidth:r,_t33_height:u,_Jfd_filter:f,_yUj_background:g});return(t,i)=>(y(),I("div",{class:b(["ellipsis",[p(h)]])},z,2))}}),j=E(B,[["__scopeId","data-v-2490f91e"]]);export{j as default}; diff --git a/_nuxt/IconCSS.qbvIwZtu.js b/_nuxt/IconCSS.xyxYUcIn.js similarity index 92% rename from _nuxt/IconCSS.qbvIwZtu.js rename to _nuxt/IconCSS.xyxYUcIn.js index 3d07d59a8d..997c358500 100644 --- a/_nuxt/IconCSS.qbvIwZtu.js +++ b/_nuxt/IconCSS.xyxYUcIn.js @@ -1 +1 @@ -import{d as m,aW as x,x as _,K as o,b as f,c as z,aV as S,L as a,k as I}from"./entry.q1HaRjkf.js";const y=m({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(l){var r;x(s=>({"589837de":a(d)}));const e=_();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const n=l,p=o(()=>{var s;return(((s=e==null?void 0:e.nuxtIcon)==null?void 0:s.aliases)||{})[n.name]||n.name}),d=o(()=>`url('https://api.iconify.design/${p.value.replace(":","/")}.svg')`),c=o(()=>{var t,i,u;if(!n.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const s=n.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(s))===s?`${s}px`:s});return(s,t)=>(f(),z("span",{style:S({width:a(c),height:a(c)})},null,4))}}),g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; +import{d as m,aW as x,x as _,K as o,b as f,c as z,aV as S,L as a,k as I}from"./entry.DMNM28aL.js";const y=m({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(l){var r;x(s=>({"589837de":a(d)}));const e=_();(r=e==null?void 0:e.nuxtIcon)!=null&&r.aliases;const n=l,p=o(()=>{var s;return(((s=e==null?void 0:e.nuxtIcon)==null?void 0:s.aliases)||{})[n.name]||n.name}),d=o(()=>`url('https://api.iconify.design/${p.value.replace(":","/")}.svg')`),c=o(()=>{var t,i,u;if(!n.size&&typeof((t=e.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((i=e.nuxtIcon)!=null&&i.size))return;const s=n.size||((u=e.nuxtIcon)==null?void 0:u.size)||"1em";return String(Number(s))===s?`${s}px`:s});return(s,t)=>(f(),z("span",{style:S({width:a(c),height:a(c)})},null,4))}}),g=I(y,[["__scopeId","data-v-e9d3514d"]]);export{g as default}; diff --git a/_nuxt/IconCodeSandBox.i6qvDP61.js b/_nuxt/IconCodeSandBox.N1ON8FR6.js similarity index 85% rename from _nuxt/IconCodeSandBox.i6qvDP61.js rename to _nuxt/IconCodeSandBox.N1ON8FR6.js index 88c6b75935..4ee388b343 100644 --- a/_nuxt/IconCodeSandBox.i6qvDP61.js +++ b/_nuxt/IconCodeSandBox.N1ON8FR6.js @@ -1 +1 @@ -import{k as e,b as o,c as n,e as t}from"./entry.q1HaRjkf.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.DMNM28aL.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.K5oX3zLO.js b/_nuxt/IconDocus.LHucSjT7.js similarity index 91% rename from _nuxt/IconDocus.K5oX3zLO.js rename to _nuxt/IconDocus.LHucSjT7.js index f50e2e7b00..6db3c1f31c 100644 --- a/_nuxt/IconDocus.K5oX3zLO.js +++ b/_nuxt/IconDocus.LHucSjT7.js @@ -1 +1 @@ -import{k as e,b as o,c,e as s}from"./entry.q1HaRjkf.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.DMNM28aL.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.zpO48gIf.js b/_nuxt/IconNuxt.BRehDEdH.js similarity index 94% rename from _nuxt/IconNuxt.zpO48gIf.js rename to _nuxt/IconNuxt.BRehDEdH.js index d51f5808b8..1a11b5c48c 100644 --- a/_nuxt/IconNuxt.zpO48gIf.js +++ b/_nuxt/IconNuxt.BRehDEdH.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.q1HaRjkf.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.DMNM28aL.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.zpO48gIf.js b/_nuxt/IconNuxtContent.BRehDEdH.js similarity index 94% rename from _nuxt/IconNuxtContent.zpO48gIf.js rename to _nuxt/IconNuxtContent.BRehDEdH.js index d51f5808b8..1a11b5c48c 100644 --- a/_nuxt/IconNuxtContent.zpO48gIf.js +++ b/_nuxt/IconNuxtContent.BRehDEdH.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.q1HaRjkf.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.DMNM28aL.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.BwKS42Pl.js b/_nuxt/IconNuxtLabs.WgrHf3YD.js similarity index 94% rename from _nuxt/IconNuxtLabs.BwKS42Pl.js rename to _nuxt/IconNuxtLabs.WgrHf3YD.js index d1969e3380..606e0eb0d6 100644 --- a/_nuxt/IconNuxtLabs.BwKS42Pl.js +++ b/_nuxt/IconNuxtLabs.WgrHf3YD.js @@ -1 +1 @@ -import{k as c,b as e,c as t,e as o}from"./entry.q1HaRjkf.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.DMNM28aL.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.yO30aaIz.js b/_nuxt/IconNuxtStudio.O8v09NUG.js similarity index 89% rename from _nuxt/IconNuxtStudio.yO30aaIz.js rename to _nuxt/IconNuxtStudio.O8v09NUG.js index 830ce05d0e..d390c0da50 100644 --- a/_nuxt/IconNuxtStudio.yO30aaIz.js +++ b/_nuxt/IconNuxtStudio.O8v09NUG.js @@ -1 +1 @@ -import{k as e,b as o,c as t,p as s,i as a,e as _}from"./entry.q1HaRjkf.js";const n={},r=c=>(s("data-v-7086cbe4"),c=c(),a(),c),d={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=r(()=>_("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 h(c,i){return o(),t("svg",d,l)}const f=e(n,[["render",h],["__scopeId","data-v-7086cbe4"]]);export{f as default}; +import{k as e,b as o,c as t,p as s,i as a,e as _}from"./entry.DMNM28aL.js";const n={},r=c=>(s("data-v-7086cbe4"),c=c(),a(),c),d={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},p=r(()=>_("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 h(c,i){return o(),t("svg",d,l)}const f=e(n,[["render",h],["__scopeId","data-v-7086cbe4"]]);export{f as default}; diff --git a/_nuxt/IconStackBlitz.ZhEvxl29.js b/_nuxt/IconStackBlitz.fPWsgIjN.js similarity index 82% rename from _nuxt/IconStackBlitz.ZhEvxl29.js rename to _nuxt/IconStackBlitz.fPWsgIjN.js index fddea810a7..01470a3c1a 100644 --- a/_nuxt/IconStackBlitz.ZhEvxl29.js +++ b/_nuxt/IconStackBlitz.fPWsgIjN.js @@ -1 +1 @@ -import{k as e,b as t,c as o,e as c}from"./entry.q1HaRjkf.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.DMNM28aL.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.DJjVRNOA.js b/_nuxt/IconVueTelescope.7Z03Pm2t.js similarity index 91% rename from _nuxt/IconVueTelescope.DJjVRNOA.js rename to _nuxt/IconVueTelescope.7Z03Pm2t.js index b3729be7bd..af02b26173 100644 --- a/_nuxt/IconVueTelescope.DJjVRNOA.js +++ b/_nuxt/IconVueTelescope.7Z03Pm2t.js @@ -1 +1 @@ -import{k as e,b as t,c as l,e as o}from"./entry.q1HaRjkf.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.DMNM28aL.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.45z5wsSn.js b/_nuxt/IndexDemo.EsYKFqSy.js similarity index 75% rename from _nuxt/IndexDemo.45z5wsSn.js rename to _nuxt/IndexDemo.EsYKFqSy.js index 5c7c76fcf8..7fac5e8f7f 100644 --- a/_nuxt/IndexDemo.45z5wsSn.js +++ b/_nuxt/IndexDemo.EsYKFqSy.js @@ -1 +1 @@ -import a from"./Card.5bUrWpaH.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,a0 as l}from"./entry.q1HaRjkf.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.o4r2Vq4C.js";import{k as n,b as r,c as _,e as s,g as d,w as o,G as e,a0 as l}from"./entry.DMNM28aL.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.7pu2wkfy.js b/_nuxt/List.ZJ2mKXBz.js similarity index 92% rename from _nuxt/List.7pu2wkfy.js rename to _nuxt/List.ZJ2mKXBz.js index bd65f5ce07..151e02725a 100644 --- a/_nuxt/List.7pu2wkfy.js +++ b/_nuxt/List.ZJ2mKXBz.js @@ -1 +1 @@ -import{aL as r,aM as l,d as u,ag as p,K as m,Q as n,a2 as f,k as d}from"./entry.q1HaRjkf.js";import{_}from"./MDCSlot.2zHBmkna.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:a=>["primary","info","success","warning","danger"].includes(a)}},setup(a){const o=p(),{flatUnwrap:s,unwrap:t}=y(),c=m(()=>a.icon||h[a.type]);return()=>{const i=s((o.default&&o.default())??[],["ul"]).map(e=>t(e,["li"]));return n("ul",i.map(e=>n("li",[n("span",{class:`list-icon ${a.type}`},n(f,{name:c.value,class:"icon"})),n("span",n(_,{use:()=>e}))])))}}}),k=d(g,[["__scopeId","data-v-40141052"]]);export{k as default}; +import{aL as r,aM as l,d as u,ag as p,K as m,Q as n,a2 as f,k as d}from"./entry.DMNM28aL.js";import{_}from"./MDCSlot.MN43rXdf.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:a=>["primary","info","success","warning","danger"].includes(a)}},setup(a){const o=p(),{flatUnwrap:s,unwrap:t}=y(),c=m(()=>a.icon||h[a.type]);return()=>{const i=s((o.default&&o.default())??[],["ul"]).map(e=>t(e,["li"]));return n("ul",i.map(e=>n("li",[n("span",{class:`list-icon ${a.type}`},n(f,{name:c.value,class:"icon"})),n("span",n(_,{use:()=>e}))])))}}}),k=d(g,[["__scopeId","data-v-40141052"]]);export{k as default}; diff --git a/_nuxt/MDCSlot.2zHBmkna.js b/_nuxt/MDCSlot.MN43rXdf.js similarity index 91% rename from _nuxt/MDCSlot.2zHBmkna.js rename to _nuxt/MDCSlot.MN43rXdf.js index cf55b061f6..5d60b45120 100644 --- a/_nuxt/MDCSlot.2zHBmkna.js +++ b/_nuxt/MDCSlot.MN43rXdf.js @@ -1 +1 @@ -import{d as i,ag as u,K as f,Q as l,aM as c,ac as d}from"./entry.q1HaRjkf.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,ag as u,K as f,Q as l,aM as c,ac as d}from"./entry.DMNM28aL.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.YK6J3_Q1.js b/_nuxt/Markdown.YK6J3_Q1.js new file mode 100644 index 0000000000..5415370287 --- /dev/null +++ b/_nuxt/Markdown.YK6J3_Q1.js @@ -0,0 +1 @@ +import s from"./ContentSlot.6G6kJV58.js";import{d as o,ag as u,K as c,ac as f}from"./entry.DMNM28aL.js";import"./MDCSlot.MN43rXdf.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=f(),{between:n,default:a}=u(),r=c(()=>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.pCr_z0ZL.js b/_nuxt/Markdown.pCr_z0ZL.js deleted file mode 100644 index cc70253833..0000000000 --- a/_nuxt/Markdown.pCr_z0ZL.js +++ /dev/null @@ -1 +0,0 @@ -import s from"./ContentSlot.hwWIYXww.js";import{d as o,ag as u,K as c,ac as f}from"./entry.q1HaRjkf.js";import"./MDCSlot.2zHBmkna.js";const d=o({name:"Markdown",extends:s,setup(t){const{parent:e}=f(),{between:n,default:a}=u(),r=c(()=>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.qwe_za49.js b/_nuxt/Mermaid.7Jd7-Cdi.js similarity index 75% rename from _nuxt/Mermaid.qwe_za49.js rename to _nuxt/Mermaid.7Jd7-Cdi.js index b3ccdb7b12..72ed49f628 100644 --- a/_nuxt/Mermaid.qwe_za49.js +++ b/_nuxt/Mermaid.7Jd7-Cdi.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,a0 as l,f as p}from"./entry.q1HaRjkf.js";import{m as r}from"./mermaid-934d9bea.A2NtSsGH.js";import"./_commonjsHelpers.5-cIlDoe.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,a0 as l,f as p}from"./entry.DMNM28aL.js";import{m as r}from"./mermaid-934d9bea.1859dh9d.js";import"./_commonjsHelpers.5-cIlDoe.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.VdvHjWw5.js b/_nuxt/NuxtImg.VdvHjWw5.js new file mode 100644 index 0000000000..de7db0e8a8 --- /dev/null +++ b/_nuxt/NuxtImg.VdvHjWw5.js @@ -0,0 +1 @@ +import{_ as m}from"./NuxtImg.vue.8kvkqvZy.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/NuxtImg.uWtvOG7g.js b/_nuxt/NuxtImg.uWtvOG7g.js deleted file mode 100644 index 74502174dd..0000000000 --- a/_nuxt/NuxtImg.uWtvOG7g.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./NuxtImg.vue.0VDIrUXY.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/NuxtImg.vue.0VDIrUXY.js b/_nuxt/NuxtImg.vue.8kvkqvZy.js similarity index 89% rename from _nuxt/NuxtImg.vue.0VDIrUXY.js rename to _nuxt/NuxtImg.vue.8kvkqvZy.js index 922a65b581..bfd879ea58 100644 --- a/_nuxt/NuxtImg.vue.0VDIrUXY.js +++ b/_nuxt/NuxtImg.vue.8kvkqvZy.js @@ -1 +1 @@ -import{d as a,K as i,Q as e,aJ as n,l as h}from"./entry.q1HaRjkf.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,aJ as n,l as h}from"./entry.DMNM28aL.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.qMmReYHO.js b/_nuxt/PreviewLayout.-mh9dIns.js similarity index 75% rename from _nuxt/PreviewLayout.qMmReYHO.js rename to _nuxt/PreviewLayout.-mh9dIns.js index 757f7cfdd6..e04e938533 100644 --- a/_nuxt/PreviewLayout.qMmReYHO.js +++ b/_nuxt/PreviewLayout.-mh9dIns.js @@ -1 +1 @@ -import{k as t,b as o,c as s,ae as a}from"./entry.q1HaRjkf.js";const r={},c={class:"preview-layout"};function n(e,d){return o(),s("div",c,[a(e.$slots,"default",{},void 0,!0)])}const _=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{_ as default}; +import{k as t,b as o,c as s,ae as a}from"./entry.DMNM28aL.js";const r={},c={class:"preview-layout"};function n(e,d){return o(),s("div",c,[a(e.$slots,"default",{},void 0,!0)])}const _=t(r,[["render",n],["__scopeId","data-v-ef0489ff"]]);export{_ as default}; diff --git a/_nuxt/PrimaryButton.LSQnk0sG.js b/_nuxt/PrimaryButton.FlXkNIab.js similarity index 75% rename from _nuxt/PrimaryButton.LSQnk0sG.js rename to _nuxt/PrimaryButton.FlXkNIab.js index b64ec3bf21..19db808c49 100644 --- a/_nuxt/PrimaryButton.LSQnk0sG.js +++ b/_nuxt/PrimaryButton.FlXkNIab.js @@ -1 +1 @@ -import{k as t,b as o,c as n,ae as c}from"./entry.q1HaRjkf.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,ae as c}from"./entry.DMNM28aL.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.4h5-vo62.js b/_nuxt/Props.CEtWFb0d.js similarity index 87% rename from _nuxt/Props.4h5-vo62.js rename to _nuxt/Props.CEtWFb0d.js index 15eabb7263..186d1a9a16 100644 --- a/_nuxt/Props.4h5-vo62.js +++ b/_nuxt/Props.CEtWFb0d.js @@ -1 +1 @@ -import g from"./ProseTh.HjKCkJiu.js";import B from"./ProseTr.EapMfHL9.js";import V from"./ProseThead.tCJk5qKt.js";import b from"./ProseCodeInline.kD_4UGIu.js";import C from"./ProseTd.G4s628Gm.js";import N from"./ProseTbody.zyB_RR9Q.js";import R from"./ProseTable.vBeITk7D.js";import{k as F,d as X,aN as E,aO as L,K as m,b as o,Y as l,w as e,G as d,g as s,f,F as S,t as c,aF as Y,c as A}from"./entry.q1HaRjkf.js";const G=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 L(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 I(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=b,_=C,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),A(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=F(G,[["render",I]]);export{Q as default}; +import g from"./ProseTh.FkymB9rA.js";import B from"./ProseTr.WUpym3Ix.js";import V from"./ProseThead.B2jt3gkU.js";import b from"./ProseCodeInline.6iI3GoXM.js";import C from"./ProseTd.3ktvwyQ-.js";import N from"./ProseTbody.6wYonfVE.js";import R from"./ProseTable._7xk69YO.js";import{k as F,d as X,aN as E,aO as L,K as m,b as o,Y as l,w as e,G as d,g as s,f,F as S,t as c,aF as Y,c as A}from"./entry.DMNM28aL.js";const G=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 L(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 I(t,k,h,i,w,q){var v,D,P;const r=g,y=B,a=V,n=b,_=C,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),A(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=F(G,[["render",I]]);export{Q as default}; diff --git a/_nuxt/ProseA.gJO5IhDn.js b/_nuxt/ProseA.OkKrpPKJ.js similarity index 84% rename from _nuxt/ProseA.gJO5IhDn.js rename to _nuxt/ProseA.OkKrpPKJ.js index e2ff1fb4c4..081f8b9f2d 100644 --- a/_nuxt/ProseA.gJO5IhDn.js +++ b/_nuxt/ProseA.OkKrpPKJ.js @@ -1 +1 @@ -import{d as o,b as n,Y as r,w as s,ae as _,H as c,k as d}from"./entry.q1HaRjkf.js";const u=o({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,f)=>{const a=c;return n(),r(a,{to:t.href,target:t.target},{default:s(()=>[_(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}}),i=d(u,[["__scopeId","data-v-a23c09bb"]]);export{i as default}; +import{d as o,b as n,Y as r,w as s,ae as _,H as c,k as d}from"./entry.DMNM28aL.js";const u=o({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(t){return(e,f)=>{const a=c;return n(),r(a,{to:t.href,target:t.target},{default:s(()=>[_(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","target"])}}}),i=d(u,[["__scopeId","data-v-a23c09bb"]]);export{i as default}; diff --git a/_nuxt/ProseBlockquote._x2T5GSs.js b/_nuxt/ProseBlockquote.qAOUk4Wn.js similarity index 73% rename from _nuxt/ProseBlockquote._x2T5GSs.js rename to _nuxt/ProseBlockquote.qAOUk4Wn.js index 00aca6e2bb..f95db687a5 100644 --- a/_nuxt/ProseBlockquote._x2T5GSs.js +++ b/_nuxt/ProseBlockquote.qAOUk4Wn.js @@ -1 +1 @@ -import{k as o,b as c,c as t,ae as r}from"./entry.q1HaRjkf.js";const a={};function n(e,s){return c(),t("blockquote",null,[r(e.$slots,"default",{},void 0,!0)])}const d=o(a,[["render",n],["__scopeId","data-v-eae89cdc"]]);export{d as default}; +import{k as o,b as c,c as t,ae as r}from"./entry.DMNM28aL.js";const a={};function n(e,s){return c(),t("blockquote",null,[r(e.$slots,"default",{},void 0,!0)])}const d=o(a,[["render",n],["__scopeId","data-v-eae89cdc"]]);export{d as default}; diff --git a/_nuxt/ProseCode.oeUt39ck.js b/_nuxt/ProseCode.c02XCi1f.js similarity index 96% rename from _nuxt/ProseCode.oeUt39ck.js rename to _nuxt/ProseCode.c02XCi1f.js index d75ccdcf10..012d3bee59 100644 --- a/_nuxt/ProseCode.oeUt39ck.js +++ b/_nuxt/ProseCode.c02XCi1f.js @@ -1 +1 @@ -import{d as y,r as l,aH as k,aI as w,x as S,b as a,c as p,e as m,g as h,w as x,L as f,Y as _,T as $,n as C,a2 as b,p as I,i as z,k as v,t as N,f as P,ae as T}from"./entry.q1HaRjkf.js";const V=e=>(I("data-v-11c7dd38"),e=e(),z(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),M={class:"icon-wrapper"},R=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,s=l(),{copy:t}=k();w(s,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=S(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(d=>{console.warn("Couldn't copy to clipboard!",d)})};return(B,d)=>{const i=b;return a(),p("button",{ref_key:"copyButtonRef",ref:s,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",M,[h($,{name:"fade"},{default:x(()=>{var u,r;return[o.value==="copied"?(a(),_(i,{key:0,name:(u=f(c).copyButton)==null?void 0:u.iconCopied,size:"18",class:"copied"},null,8,["name"])):(a(),_(i,{key:1,name:(r=f(c).copyButton)==null?void 0:r.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}}),D=v(R,[["__scopeId","data-v-11c7dd38"]]),E={key:0,class:"filename"},H=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(s,t)=>{const c=D;return a(),p("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?(a(),p("span",E,N(e.filename),1)):P("",!0),T(s.$slots,"default",{},void 0,!0),h(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}}),O=v(H,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; +import{d as y,r as l,aH as k,aI as w,x as S,b as a,c as p,e as m,g as h,w as x,L as f,Y as _,T as $,n as C,a2 as b,p as I,i as z,k as v,t as N,f as P,ae as T}from"./entry.DMNM28aL.js";const V=e=>(I("data-v-11c7dd38"),e=e(),z(),e),A=V(()=>m("span",{class:"sr-only"},"Copy to clipboard",-1)),M={class:"icon-wrapper"},R=y({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(e){const n=e,s=l(),{copy:t}=k();w(s,()=>{o.value==="copied"&&(o.value="init")});const{prose:c}=S(),o=l("init"),g=B=>{t(n.content).then(()=>{o.value="copied"}).catch(d=>{console.warn("Couldn't copy to clipboard!",d)})};return(B,d)=>{const i=b;return a(),p("button",{ref_key:"copyButtonRef",ref:s,class:C([(e.show||o.value==="copied")&&"show"]),onClick:g},[A,m("span",M,[h($,{name:"fade"},{default:x(()=>{var u,r;return[o.value==="copied"?(a(),_(i,{key:0,name:(u=f(c).copyButton)==null?void 0:u.iconCopied,size:"18",class:"copied"},null,8,["name"])):(a(),_(i,{key:1,name:(r=f(c).copyButton)==null?void 0:r.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}}),D=v(R,[["__scopeId","data-v-11c7dd38"]]),E={key:0,class:"filename"},H=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(s,t)=>{const c=D;return a(),p("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?(a(),p("span",E,N(e.filename),1)):P("",!0),T(s.$slots,"default",{},void 0,!0),h(c,{show:n.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}}),O=v(H,[["__scopeId","data-v-262fd9e4"]]);export{O as default}; diff --git a/_nuxt/ProseCodeInline.kD_4UGIu.js b/_nuxt/ProseCodeInline.6iI3GoXM.js similarity index 72% rename from _nuxt/ProseCodeInline.kD_4UGIu.js rename to _nuxt/ProseCodeInline.6iI3GoXM.js index ce5e0ed282..ab5c79e0dc 100644 --- a/_nuxt/ProseCodeInline.kD_4UGIu.js +++ b/_nuxt/ProseCodeInline.6iI3GoXM.js @@ -1 +1 @@ -import{k as n,b as t,c as o,ae as c}from"./entry.q1HaRjkf.js";const r={};function a(e,s){return t(),o("code",null,[c(e.$slots,"default",{},void 0,!0)])}const d=n(r,[["render",a],["__scopeId","data-v-e743899b"]]);export{d as default}; +import{k as n,b as t,c as o,ae as c}from"./entry.DMNM28aL.js";const r={};function a(e,s){return t(),o("code",null,[c(e.$slots,"default",{},void 0,!0)])}const d=n(r,[["render",a],["__scopeId","data-v-e743899b"]]);export{d as default}; diff --git a/_nuxt/ProseEm.F6z8uwGD.js b/_nuxt/ProseEm.u9sEsbYJ.js similarity index 72% rename from _nuxt/ProseEm.F6z8uwGD.js rename to _nuxt/ProseEm.u9sEsbYJ.js index 97469127a7..d966c4e2e4 100644 --- a/_nuxt/ProseEm.F6z8uwGD.js +++ b/_nuxt/ProseEm.u9sEsbYJ.js @@ -1 +1 @@ -import{k as r,b as t,c as n,ae as o}from"./entry.q1HaRjkf.js";const s={};function a(e,c){return t(),n("em",null,[o(e.$slots,"default",{},void 0,!0)])}const l=r(s,[["render",a],["__scopeId","data-v-e71d4541"]]);export{l as default}; +import{k as r,b as t,c as n,ae as o}from"./entry.DMNM28aL.js";const s={};function a(e,c){return t(),n("em",null,[o(e.$slots,"default",{},void 0,!0)])}const l=r(s,[["render",a],["__scopeId","data-v-e71d4541"]]);export{l as default}; diff --git a/_nuxt/ProseH1.ObL5W-EZ.js b/_nuxt/ProseH1.EFDm3JDy.js similarity index 91% rename from _nuxt/ProseH1.ObL5W-EZ.js rename to _nuxt/ProseH1.EFDm3JDy.js index 0787374917..f8a7148bb9 100644 --- a/_nuxt/ProseH1.ObL5W-EZ.js +++ b/_nuxt/ProseH1.EFDm3JDy.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH1",props:{id:{}},setup(B){const{prose:e}=u(),c=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)}),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)});return(n,o)=>{const _=k,d=x;return a(),m("h1",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-a6b5ed16"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH1",props:{id:{}},setup(B){const{prose:e}=u(),c=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)}),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)});return(n,o)=>{const _=k,d=x;return a(),m("h1",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-a6b5ed16"]]);export{I as default}; diff --git a/_nuxt/ProseH2.-9Ew53W_.js b/_nuxt/ProseH2.5OksNWtg.js similarity index 91% rename from _nuxt/ProseH2.-9Ew53W_.js rename to _nuxt/ProseH2.5OksNWtg.js index 78bb75419f..18d954164f 100644 --- a/_nuxt/ProseH2.-9Ew53W_.js +++ b/_nuxt/ProseH2.5OksNWtg.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h2",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-1c268e02"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH2",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h2",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-1c268e02"]]);export{I as default}; diff --git a/_nuxt/ProseH3.bcbsC7K5.js b/_nuxt/ProseH3.QreNH1Ne.js similarity index 91% rename from _nuxt/ProseH3.bcbsC7K5.js rename to _nuxt/ProseH3.QreNH1Ne.js index 370550edfe..ba1b92a697 100644 --- a/_nuxt/ProseH3.bcbsC7K5.js +++ b/_nuxt/ProseH3.QreNH1Ne.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH3",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h3",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-c3af30bd"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH3",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h3",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-c3af30bd"]]);export{I as default}; diff --git a/_nuxt/ProseH4.8hu1lHgz.js b/_nuxt/ProseH4.vtOAJkSq.js similarity index 91% rename from _nuxt/ProseH4.8hu1lHgz.js rename to _nuxt/ProseH4.vtOAJkSq.js index 3065010b93..437ccda74f 100644 --- a/_nuxt/ProseH4.8hu1lHgz.js +++ b/_nuxt/ProseH4.vtOAJkSq.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as p,f as h,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),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)}),s=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 _=k,d=x;return a(),m("h4",{id:n.id},[r(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,v)}}}),I=g(C,[["__scopeId","data-v-8e1edaf9"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as p,f as h,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH4",props:{id:{}},setup($){const{prose:e}=u(),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)}),s=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 _=k,d=x;return a(),m("h4",{id:n.id},[r(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,v)}}}),I=g(C,[["__scopeId","data-v-8e1edaf9"]]);export{I as default}; diff --git a/_nuxt/ProseH5.lNRH0NeP.js b/_nuxt/ProseH5.ThcODWY3.js similarity index 91% rename from _nuxt/ProseH5.lNRH0NeP.js rename to _nuxt/ProseH5.ThcODWY3.js index a368d0feb7..dcabf3c871 100644 --- a/_nuxt/ProseH5.lNRH0NeP.js +++ b/_nuxt/ProseH5.ThcODWY3.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH5",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h5",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-c70a6b36"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH5",props:{id:{}},setup(B){const{prose:e}=u(),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=x;return a(),m("h5",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-c70a6b36"]]);export{I as default}; diff --git a/_nuxt/ProseH6.TjN22uhv.js b/_nuxt/ProseH6.es0nbL-E.js similarity index 91% rename from _nuxt/ProseH6.TjN22uhv.js rename to _nuxt/ProseH6.es0nbL-E.js index 778c24a694..75d26fe6f3 100644 --- a/_nuxt/ProseH6.TjN22uhv.js +++ b/_nuxt/ProseH6.es0nbL-E.js @@ -1 +1 @@ -import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.q1HaRjkf.js";const v=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(B){const{prose:e}=u(),c=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)}),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)});return(n,o)=>{const _=k,d=x;return a(),m("h6",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-d708d2d4"]]);export{I as default}; +import{d as i,x as u,K as t,b as a,c as m,g as r,w as l,ae as f,Y as h,f as p,a2 as k,H as x,k as g}from"./entry.DMNM28aL.js";const v=["id"],C=i({__name:"ProseH6",props:{id:{}},setup(B){const{prose:e}=u(),c=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)}),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)});return(n,o)=>{const _=k,d=x;return a(),m("h6",{id:n.id},[r(d,{href:`#${n.id}`},{default:l(()=>[f(n.$slots,"default",{},void 0,!0),c.value?(a(),h(_,{key:0,name:s.value},null,8,["name"])):p("",!0)]),_:3},8,["href"])],8,v)}}}),I=g(C,[["__scopeId","data-v-d708d2d4"]]);export{I as default}; diff --git a/_nuxt/ProseHr.RGwhFeUE.js b/_nuxt/ProseHr.5KpkoNDK.js similarity index 64% rename from _nuxt/ProseHr.RGwhFeUE.js rename to _nuxt/ProseHr.5KpkoNDK.js index 211b6ea96e..da9b584f91 100644 --- a/_nuxt/ProseHr.RGwhFeUE.js +++ b/_nuxt/ProseHr.5KpkoNDK.js @@ -1 +1 @@ -import{k as e,b as c,c as r}from"./entry.q1HaRjkf.js";const o={};function t(a,s){return c(),r("hr")}const _=e(o,[["render",t],["__scopeId","data-v-a0643f32"]]);export{_ as default}; +import{k as e,b as c,c as r}from"./entry.DMNM28aL.js";const o={};function t(a,s){return c(),r("hr")}const _=e(o,[["render",t],["__scopeId","data-v-a0643f32"]]);export{_ as default}; diff --git a/_nuxt/ProseImg.hK0AkCYv.js b/_nuxt/ProseImg.dL8X15Ke.js similarity index 89% rename from _nuxt/ProseImg.hK0AkCYv.js rename to _nuxt/ProseImg.dL8X15Ke.js index ebb804e5ff..7750cfb756 100644 --- a/_nuxt/ProseImg.hK0AkCYv.js +++ b/_nuxt/ProseImg.dL8X15Ke.js @@ -1 +1 @@ -import{d as a,K as i,aJ as n,l as c,b as o,c as d,R as h,L as u,k as l}from"./entry.q1HaRjkf.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=i(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?n(e.src,c().app.baseURL):e.src});return(s,g)=>(o(),d("img",h(s.$attrs,{src:u(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}}),w=l(m,[["__scopeId","data-v-59fa7d04"]]);export{w as default}; +import{d as a,K as i,aJ as n,l as c,b as o,c as d,R as h,L as u,k as l}from"./entry.DMNM28aL.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=i(()=>{var s;return(s=e.src)!=null&&s.startsWith("/")&&!e.src.startsWith("//")?n(e.src,c().app.baseURL):e.src});return(s,g)=>(o(),d("img",h(s.$attrs,{src:u(r),alt:t.alt,width:t.width,height:t.height}),null,16,f))}}),w=l(m,[["__scopeId","data-v-59fa7d04"]]);export{w as default}; diff --git a/_nuxt/ProseLi.Nd-cfAUt.js b/_nuxt/ProseLi.mf42c34j.js similarity index 72% rename from _nuxt/ProseLi.Nd-cfAUt.js rename to _nuxt/ProseLi.mf42c34j.js index 24edd804ff..fb10e659d2 100644 --- a/_nuxt/ProseLi.Nd-cfAUt.js +++ b/_nuxt/ProseLi.mf42c34j.js @@ -1 +1 @@ -import{k as r,b as t,c as n,ae as o}from"./entry.q1HaRjkf.js";const s={};function a(e,c){return t(),n("li",null,[o(e.$slots,"default",{},void 0,!0)])}const l=r(s,[["render",a],["__scopeId","data-v-8d545697"]]);export{l as default}; +import{k as r,b as t,c as n,ae as o}from"./entry.DMNM28aL.js";const s={};function a(e,c){return t(),n("li",null,[o(e.$slots,"default",{},void 0,!0)])}const l=r(s,[["render",a],["__scopeId","data-v-8d545697"]]);export{l as default}; diff --git a/_nuxt/ProseOl.WiRv2RPt.js b/_nuxt/ProseOl.GkhMg_vD.js similarity index 72% rename from _nuxt/ProseOl.WiRv2RPt.js rename to _nuxt/ProseOl.GkhMg_vD.js index 31a0e86d68..a1433a39a8 100644 --- a/_nuxt/ProseOl.WiRv2RPt.js +++ b/_nuxt/ProseOl.GkhMg_vD.js @@ -1 +1 @@ -import{k as o,b as r,c as t,ae as a}from"./entry.q1HaRjkf.js";const n={};function s(e,c){return r(),t("ol",null,[a(e.$slots,"default",{},void 0,!0)])}const d=o(n,[["render",s],["__scopeId","data-v-315a078b"]]);export{d as default}; +import{k as o,b as r,c as t,ae as a}from"./entry.DMNM28aL.js";const n={};function s(e,c){return r(),t("ol",null,[a(e.$slots,"default",{},void 0,!0)])}const d=o(n,[["render",s],["__scopeId","data-v-315a078b"]]);export{d as default}; diff --git a/_nuxt/ProseP.WWHl5OCQ.js b/_nuxt/ProseP.bMR8pn8i.js similarity index 72% rename from _nuxt/ProseP.WWHl5OCQ.js rename to _nuxt/ProseP.bMR8pn8i.js index 01392b392f..f5af2b70e3 100644 --- a/_nuxt/ProseP.WWHl5OCQ.js +++ b/_nuxt/ProseP.bMR8pn8i.js @@ -1 +1 @@ -import{k as n,b as t,c as o,ae as c}from"./entry.q1HaRjkf.js";const r={};function a(e,s){return t(),o("p",null,[c(e.$slots,"default",{},void 0,!0)])}const f=n(r,[["render",a],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; +import{k as n,b as t,c as o,ae as c}from"./entry.DMNM28aL.js";const r={};function a(e,s){return t(),o("p",null,[c(e.$slots,"default",{},void 0,!0)])}const f=n(r,[["render",a],["__scopeId","data-v-fb25b4f3"]]);export{f as default}; diff --git a/_nuxt/ProsePre.7hQDwLAv.js b/_nuxt/ProsePre.hqKdR_vu.js similarity index 82% rename from _nuxt/ProsePre.7hQDwLAv.js rename to _nuxt/ProsePre.hqKdR_vu.js index 674f64edd4..f54b191d68 100644 --- a/_nuxt/ProsePre.7hQDwLAv.js +++ b/_nuxt/ProsePre.hqKdR_vu.js @@ -1 +1 @@ -import l from"./ProseCode.oeUt39ck.js";import{d as n,b as s,Y as i,w as o,n as r,aV as u,ae as g,e as d}from"./entry.q1HaRjkf.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,m)=>{const a=l;return s(),i(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:o(()=>[d("pre",{class:r(t.$props.class),style:u(e.style)},[g(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; +import l from"./ProseCode.c02XCi1f.js";import{d as n,b as s,Y as i,w as o,n as r,aV as u,ae as g,e as d}from"./entry.DMNM28aL.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,m)=>{const a=l;return s(),i(a,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:o(()=>[d("pre",{class:r(t.$props.class),style:u(e.style)},[g(t.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/ProseStrong.MOzHJa_4.js b/_nuxt/ProseStrong.poKMskxt.js similarity index 72% rename from _nuxt/ProseStrong.MOzHJa_4.js rename to _nuxt/ProseStrong.poKMskxt.js index 68bc90c52b..a877cba5db 100644 --- a/_nuxt/ProseStrong.MOzHJa_4.js +++ b/_nuxt/ProseStrong.poKMskxt.js @@ -1 +1 @@ -import{k as r,b as t,c as n,ae as o}from"./entry.q1HaRjkf.js";const s={};function a(e,c){return t(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const f=r(s,[["render",a],["__scopeId","data-v-293bb80f"]]);export{f as default}; +import{k as r,b as t,c as n,ae as o}from"./entry.DMNM28aL.js";const s={};function a(e,c){return t(),n("strong",null,[o(e.$slots,"default",{},void 0,!0)])}const f=r(s,[["render",a],["__scopeId","data-v-293bb80f"]]);export{f as default}; diff --git a/_nuxt/ProseTable.vBeITk7D.js b/_nuxt/ProseTable._7xk69YO.js similarity index 77% rename from _nuxt/ProseTable.vBeITk7D.js rename to _nuxt/ProseTable._7xk69YO.js index 73e4db85da..d8c0a230f8 100644 --- a/_nuxt/ProseTable.vBeITk7D.js +++ b/_nuxt/ProseTable._7xk69YO.js @@ -1 +1 @@ -import{k as t,b as a,c as s,e as c,ae as n}from"./entry.q1HaRjkf.js";const o={},r={class:"table-wrapper"};function _(e,d){return a(),s("div",r,[c("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",_],["__scopeId","data-v-fbc01453"]]);export{f as default}; +import{k as t,b as a,c as s,e as c,ae as n}from"./entry.DMNM28aL.js";const o={},r={class:"table-wrapper"};function _(e,d){return a(),s("div",r,[c("table",null,[n(e.$slots,"default",{},void 0,!0)])])}const f=t(o,[["render",_],["__scopeId","data-v-fbc01453"]]);export{f as default}; diff --git a/_nuxt/ProseTbody.zyB_RR9Q.js b/_nuxt/ProseTbody.6wYonfVE.js similarity index 66% rename from _nuxt/ProseTbody.zyB_RR9Q.js rename to _nuxt/ProseTbody.6wYonfVE.js index 9d714fb42f..4a78c9bfe6 100644 --- a/_nuxt/ProseTbody.zyB_RR9Q.js +++ b/_nuxt/ProseTbody.6wYonfVE.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ae as c}from"./entry.q1HaRjkf.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,ae as c}from"./entry.DMNM28aL.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.G4s628Gm.js b/_nuxt/ProseTd.3ktvwyQ-.js similarity index 71% rename from _nuxt/ProseTd.G4s628Gm.js rename to _nuxt/ProseTd.3ktvwyQ-.js index d703606875..534ce576f9 100644 --- a/_nuxt/ProseTd.G4s628Gm.js +++ b/_nuxt/ProseTd.3ktvwyQ-.js @@ -1 +1 @@ -import{k as t,b as n,c,ae as o}from"./entry.q1HaRjkf.js";const r={};function a(e,s){return n(),c("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",a],["__scopeId","data-v-e749cfe8"]]);export{d as default}; +import{k as t,b as n,c,ae as o}from"./entry.DMNM28aL.js";const r={};function a(e,s){return n(),c("td",null,[o(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",a],["__scopeId","data-v-e749cfe8"]]);export{d as default}; diff --git a/_nuxt/ProseTh.HjKCkJiu.js b/_nuxt/ProseTh.FkymB9rA.js similarity index 72% rename from _nuxt/ProseTh.HjKCkJiu.js rename to _nuxt/ProseTh.FkymB9rA.js index df4b57ab36..ebcba80ab6 100644 --- a/_nuxt/ProseTh.HjKCkJiu.js +++ b/_nuxt/ProseTh.FkymB9rA.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ae as c}from"./entry.q1HaRjkf.js";const r={};function a(e,s){return n(),o("th",null,[c(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",a],["__scopeId","data-v-d08e1929"]]);export{d as default}; +import{k as t,b as n,c as o,ae as c}from"./entry.DMNM28aL.js";const r={};function a(e,s){return n(),o("th",null,[c(e.$slots,"default",{},void 0,!0)])}const d=t(r,[["render",a],["__scopeId","data-v-d08e1929"]]);export{d as default}; diff --git a/_nuxt/ProseThead.tCJk5qKt.js b/_nuxt/ProseThead.B2jt3gkU.js similarity index 72% rename from _nuxt/ProseThead.tCJk5qKt.js rename to _nuxt/ProseThead.B2jt3gkU.js index 5ec37824a5..d1cf9c7c3b 100644 --- a/_nuxt/ProseThead.tCJk5qKt.js +++ b/_nuxt/ProseThead.B2jt3gkU.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ae as a}from"./entry.q1HaRjkf.js";const c={};function r(e,s){return n(),o("thead",null,[a(e.$slots,"default",{},void 0,!0)])}const d=t(c,[["render",r],["__scopeId","data-v-7384b874"]]);export{d as default}; +import{k as t,b as n,c as o,ae as a}from"./entry.DMNM28aL.js";const c={};function r(e,s){return n(),o("thead",null,[a(e.$slots,"default",{},void 0,!0)])}const d=t(c,[["render",r],["__scopeId","data-v-7384b874"]]);export{d as default}; diff --git a/_nuxt/ProseTr.EapMfHL9.js b/_nuxt/ProseTr.WUpym3Ix.js similarity index 72% rename from _nuxt/ProseTr.EapMfHL9.js rename to _nuxt/ProseTr.WUpym3Ix.js index b2376c3978..5f86810888 100644 --- a/_nuxt/ProseTr.EapMfHL9.js +++ b/_nuxt/ProseTr.WUpym3Ix.js @@ -1 +1 @@ -import{k as t,b as n,c as o,ae as r}from"./entry.q1HaRjkf.js";const c={};function a(e,s){return n(),o("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=t(c,[["render",a],["__scopeId","data-v-8584fb94"]]);export{d as default}; +import{k as t,b as n,c as o,ae as r}from"./entry.DMNM28aL.js";const c={};function a(e,s){return n(),o("tr",null,[r(e.$slots,"default",{},void 0,!0)])}const d=t(c,[["render",a],["__scopeId","data-v-8584fb94"]]);export{d as default}; diff --git a/_nuxt/ProseUl.AJzxAvif.js b/_nuxt/ProseUl.7I5B1wKe.js similarity index 72% rename from _nuxt/ProseUl.AJzxAvif.js rename to _nuxt/ProseUl.7I5B1wKe.js index c30daa971c..629f2f49a8 100644 --- a/_nuxt/ProseUl.AJzxAvif.js +++ b/_nuxt/ProseUl.7I5B1wKe.js @@ -1 +1 @@ -import{k as r,b as t,c as n,ae as o}from"./entry.q1HaRjkf.js";const s={};function a(e,c){return t(),n("ul",null,[o(e.$slots,"default",{},void 0,!0)])}const d=r(s,[["render",a],["__scopeId","data-v-47f13bb3"]]);export{d as default}; +import{k as r,b as t,c as n,ae as o}from"./entry.DMNM28aL.js";const s={};function a(e,c){return t(),n("ul",null,[o(e.$slots,"default",{},void 0,!0)])}const d=r(s,[["render",a],["__scopeId","data-v-47f13bb3"]]);export{d as default}; diff --git a/_nuxt/Sandbox.LEbq7B6x.js b/_nuxt/Sandbox.fz6ePa0S.js similarity index 91% rename from _nuxt/Sandbox.LEbq7B6x.js rename to _nuxt/Sandbox.fz6ePa0S.js index 1d9f258099..0bd5f4a81f 100644 --- a/_nuxt/Sandbox.LEbq7B6x.js +++ b/_nuxt/Sandbox.fz6ePa0S.js @@ -1 +1 @@ -import v from"./TabsHeader.bMrSb2ui.js";import{d as x,aP as h,r as n,o as g,b as r,c as l,Y as S,L as c,f as k,k as y}from"./entry.q1HaRjkf.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=h(),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(""),f=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},m=t=>{d.value=t,f(p[t].label)};return g(()=>{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 _=v;return r(),l("div",$,[i.src?k("",!0):(r(),S(_,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":m},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..."))])}}}),O=y(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; +import v from"./TabsHeader.wVJNPdeP.js";import{d as x,aP as h,r as n,o as g,b as r,c as l,Y as S,L as c,f as k,k as y}from"./entry.DMNM28aL.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=h(),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(""),f=t=>{a.value=t,s.value=e.src||o[a.value](),localStorage.setItem("docus_sandbox",t)},m=t=>{d.value=t,f(p[t].label)};return g(()=>{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 _=v;return r(),l("div",$,[i.src?k("",!0):(r(),S(_,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(p),"onUpdate:activeTabIndex":m},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..."))])}}}),O=y(C,[["__scopeId","data-v-fb2fb419"]]);export{O as default}; diff --git a/_nuxt/SourceLink.fQqE1hsz.js b/_nuxt/SourceLink.fQqE1hsz.js new file mode 100644 index 0000000000..d1d0235f57 --- /dev/null +++ b/_nuxt/SourceLink.fQqE1hsz.js @@ -0,0 +1 @@ +import o from"./ProseP.bMR8pn8i.js";import{d as r,b as t,Y as n}from"./entry.DMNM28aL.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.zrd0rF8v.js b/_nuxt/SourceLink.zrd0rF8v.js deleted file mode 100644 index 97f039ffa3..0000000000 --- a/_nuxt/SourceLink.zrd0rF8v.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./ProseP.WWHl5OCQ.js";import{d as r,b as t,Y as n}from"./entry.q1HaRjkf.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.bMrSb2ui.js b/_nuxt/TabsHeader.wVJNPdeP.js similarity index 94% rename from _nuxt/TabsHeader.bMrSb2ui.js rename to _nuxt/TabsHeader.wVJNPdeP.js index 0c9418eff3..3c73ccba7e 100644 --- a/_nuxt/TabsHeader.bMrSb2ui.js +++ b/_nuxt/TabsHeader.wVJNPdeP.js @@ -1 +1 @@ -import{d as b,r as l,a7 as v,b as a,c as s,F as g,aF as x,e as u,f as k,ae as y,n as I,t as T,p as S,i as C,B as $,k as B}from"./entry.q1HaRjkf.js";const w=t=>(S("data-v-ad7417d7"),t=t(),C(),t),F={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],H=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:p}){const h=t,f=p,n=l(),i=l(),o=e=>{e&&(i.value.style.insetInlineStart=`${e.offsetLeft}px`,i.value.style.width=`${e.clientWidth}px`)},m=(e,d)=>{f("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[h.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",F,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},r)=>(a(),s("button",{key:`${r}${c}`,class:I([t.activeTabIndex===r?"active":"not-active"]),onClick:_=>m(_,r)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:i,class:"highlight-underline"},q,512)],512)):k("",!0),y(e.$slots,"footer",{},void 0,!0)]))}}),R=B(H,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; +import{d as b,r as l,a7 as v,b as a,c as s,F as g,aF as x,e as u,f as k,ae as y,n as I,t as T,p as S,i as C,B as $,k as B}from"./entry.DMNM28aL.js";const w=t=>(S("data-v-ad7417d7"),t=t(),C(),t),F={class:"tabs-header"},N=["onClick"],U=w(()=>u("span",{class:"tab"},null,-1)),q=[U],H=b({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:p}){const h=t,f=p,n=l(),i=l(),o=e=>{e&&(i.value.style.insetInlineStart=`${e.offsetLeft}px`,i.value.style.width=`${e.clientWidth}px`)},m=(e,d)=>{f("update:activeTabIndex",d),$(()=>o(e.target))};return v(n,e=>{e&&setTimeout(()=>{o(n.value.children[h.activeTabIndex])},50)},{immediate:!0}),(e,d)=>(a(),s("div",F,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(g,null,x(t.tabs,({label:c},r)=>(a(),s("button",{key:`${r}${c}`,class:I([t.activeTabIndex===r?"active":"not-active"]),onClick:_=>m(_,r)},T(c),11,N))),128)),u("span",{ref_key:"highlightUnderline",ref:i,class:"highlight-underline"},q,512)],512)):k("",!0),y(e.$slots,"footer",{},void 0,!0)]))}}),R=B(H,[["__scopeId","data-v-ad7417d7"]]);export{R as default}; diff --git a/_nuxt/Terminal.fi-D3Y7p.js b/_nuxt/Terminal.cd6apQ0s.js similarity index 89% rename from _nuxt/Terminal.fi-D3Y7p.js rename to _nuxt/Terminal.cd6apQ0s.js index 3420ac9771..ca0d7cb8ad 100644 --- a/_nuxt/Terminal.fi-D3Y7p.js +++ b/_nuxt/Terminal.cd6apQ0s.js @@ -1,2 +1,2 @@ -import{d as v,aH as h,r as m,K as f,b as s,c as o,L as i,f as p,e as t,F as y,aF as k,p as C,i as g,t as S,k as b}from"./entry.q1HaRjkf.js";const n=e=>(C("data-v-1c0fc1e1"),e=e(),g(),e),w={key:0,class:"copied"},x=n(()=>t("div",{class:"scrim"},null,-1)),B=n(()=>t("div",{class:"content"}," Copied! ",-1)),I=[x,B],F=n(()=>t("div",{class:"header"},[t("div",{class:"controls"},[t("div"),t("div"),t("div")]),t("div",{class:"title"}," Bash ")],-1)),T={class:"window"},L=n(()=>t("span",{class:"sign"},"$",-1)),N={class:"content"},V={key:1,class:"prompt"},j=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(e){const a=e,{copy:l}=h(),c=m("init"),d=f(()=>typeof a.content=="string"?[a.content]:a.content),_=u=>{l(d.value.join(` +import{d as v,aH as h,r as m,K as f,b as s,c as o,L as i,f as p,e as t,F as y,aF as k,p as C,i as g,t as S,k as b}from"./entry.DMNM28aL.js";const n=e=>(C("data-v-1c0fc1e1"),e=e(),g(),e),w={key:0,class:"copied"},x=n(()=>t("div",{class:"scrim"},null,-1)),B=n(()=>t("div",{class:"content"}," Copied! ",-1)),I=[x,B],F=n(()=>t("div",{class:"header"},[t("div",{class:"controls"},[t("div"),t("div"),t("div")]),t("div",{class:"title"}," Bash ")],-1)),T={class:"window"},L=n(()=>t("span",{class:"sign"},"$",-1)),N={class:"content"},V={key:1,class:"prompt"},j=v({__name:"Terminal",props:{content:{type:[Array,String],required:!0}},setup(e){const a=e,{copy:l}=h(),c=m("init"),d=f(()=>typeof a.content=="string"?[a.content]:a.content),_=u=>{l(d.value.join(` `)).then(()=>{c.value="copied",setTimeout(()=>{c.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(u,q)=>(s(),o("div",{class:"terminal",onClick:_},[i(c)==="copied"?(s(),o("div",w,I)):p("",!0),F,t("div",T,[(s(!0),o(y,null,k(i(d),r=>(s(),o("span",{key:r,class:"line"},[L,t("span",N,S(r),1)]))),128))]),i(c)!=="copied"?(s(),o("div",V," Click to copy ")):p("",!0)]))}}),D=b(j,[["__scopeId","data-v-1c0fc1e1"]]);export{D as default}; diff --git a/_nuxt/ThemeButton.KLzrACF9.js b/_nuxt/ThemeButton.KLzrACF9.js deleted file mode 100644 index 27ce75eb5b..0000000000 --- a/_nuxt/ThemeButton.KLzrACF9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ThemeButton.vue.VdZg_U5_.js";import"./entry.q1HaRjkf.js";export{m as default}; diff --git a/_nuxt/ThemeButton.kym-kZbO.js b/_nuxt/ThemeButton.kym-kZbO.js new file mode 100644 index 0000000000..6996ca6d6c --- /dev/null +++ b/_nuxt/ThemeButton.kym-kZbO.js @@ -0,0 +1 @@ +import{_ as m}from"./ThemeButton.vue.E7xg_z0E.js";import"./entry.DMNM28aL.js";export{m as default}; diff --git a/_nuxt/ThemeButton.vue.VdZg_U5_.js b/_nuxt/ThemeButton.vue.E7xg_z0E.js similarity index 87% rename from _nuxt/ThemeButton.vue.VdZg_U5_.js rename to _nuxt/ThemeButton.vue.E7xg_z0E.js index 7e54d4b0f9..7a57efbfc2 100644 --- a/_nuxt/ThemeButton.vue.VdZg_U5_.js +++ b/_nuxt/ThemeButton.vue.E7xg_z0E.js @@ -1 +1 @@ -import{d as s,a1 as c,b as r,c as l,g as m,L as o,G as p,t as u,a2 as i}from"./entry.q1HaRjkf.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,a1 as c,b as r,c as l,g as m,L as o,G as p,t as u,a2 as i}from"./entry.DMNM28aL.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.YH0uB0VN.js b/_nuxt/TokensPlayground.lrWJJPfs.js similarity index 74% rename from _nuxt/TokensPlayground.YH0uB0VN.js rename to _nuxt/TokensPlayground.lrWJJPfs.js index 3c538ae4ee..7fc18e2a94 100644 --- a/_nuxt/TokensPlayground.YH0uB0VN.js +++ b/_nuxt/TokensPlayground.lrWJJPfs.js @@ -1 +1 @@ -import{d as n,aQ as a,b as s,c as t,e as o,t as r,L as c}from"./entry.q1HaRjkf.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,aQ as a,b as s,c as t,e as o,t as r,L as c}from"./entry.DMNM28aL.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.lGiET7FK.js b/_nuxt/VeeValidateCheckbox.AJOw7uBn.js similarity index 75% rename from _nuxt/VeeValidateCheckbox.lGiET7FK.js rename to _nuxt/VeeValidateCheckbox.AJOw7uBn.js index 7c1d916ce2..23962609ed 100644 --- a/_nuxt/VeeValidateCheckbox.lGiET7FK.js +++ b/_nuxt/VeeValidateCheckbox.AJOw7uBn.js @@ -1 +1 @@ -import{_ as y}from"./Checkbox.vue.i_o1e-gp.js";import g from"./PrimaryButton.LSQnk0sG.js";import{d as k,b as l,c as n,e as o,a3 as S,a4 as C,L as e,$ as d,t as p,f as _,g as f,w as B,G as N}from"./entry.q1HaRjkf.js";import{u as $,c as w,a as v,b as x}from"./index.esm.2qW5NcAJ.js";import"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";import"./_commonjsHelpers.5-cIlDoe.js";const E={key:0,class:"text-red"},M={key:0,class:"text-red"},L=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=$({validationSchema:w({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),i=b(c=>{console.log(c)});return(c,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(i)&&e(i)(...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",E,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",M,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N(" Submit ")]),_:1})])],32)}}});export{L as default}; +import{_ as y}from"./Checkbox.vue.2u50CLf1.js";import g from"./PrimaryButton.FlXkNIab.js";import{d as k,b as l,c as n,e as o,a3 as S,a4 as C,L as e,$ as d,t as p,f as _,g as f,w as B,G as N}from"./entry.DMNM28aL.js";import{u as $,c as w,a as v,b as x}from"./index.esm.5yGQZtXl.js";import"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";import"./_commonjsHelpers.5-cIlDoe.js";const E={key:0,class:"text-red"},M={key:0,class:"text-red"},L=k({__name:"VeeValidateCheckbox",setup(q){const{handleSubmit:b}=$({validationSchema:w({name:v().required(),recaptcha:v().required("Please verify you are human")})}),{value:r,errorMessage:u}=x("name"),{value:s,errorMessage:m}=x("recaptcha"),i=b(c=>{console.log(c)});return(c,a)=>{const V=y,h=g;return l(),n("form",{class:"flex flex-col gap-2",onSubmit:a[2]||(a[2]=(...t)=>e(i)&&e(i)(...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",E,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",M,p(e(m)),1)):_("",!0)]),o("div",null,[f(h,{type:"submit"},{default:B(()=>[N(" Submit ")]),_:1})])],32)}}});export{L as default}; diff --git a/_nuxt/VeeValidateInvisible.cMWFaZlN.js b/_nuxt/VeeValidateInvisible.H0JOJac3.js similarity index 74% rename from _nuxt/VeeValidateInvisible.cMWFaZlN.js rename to _nuxt/VeeValidateInvisible.H0JOJac3.js index 193075034b..7def1ce846 100644 --- a/_nuxt/VeeValidateInvisible.cMWFaZlN.js +++ b/_nuxt/VeeValidateInvisible.H0JOJac3.js @@ -1 +1 @@ -import b from"./PrimaryButton.LSQnk0sG.js";import{_ as v}from"./ChallengeV2.vue.2V5n61V0.js";import{d as x,r as g,a5 as y,b as i,c as u,e as n,a3 as S,a4 as h,L as a,$ as d,t as w,f as B,g as p,w as c,G as C}from"./entry.q1HaRjkf.js";import{u as N,c as $,a as k,b as D}from"./index.esm.2qW5NcAJ.js";import"./component-v2.sKjNcOqD.js";import"./index.yCA1HJN8.js";import"./_commonjsHelpers.5-cIlDoe.js";const E={key:0,class:"text-red"},L=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:$({name:k().required()})}),{value:s,errorMessage:r}=D("name"),t=g(),l=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return i(),u("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(l)&&a(l)(...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(r)?(i(),u("div",E,w(a(r)),1)):B("",!0)]),n("div",null,[p(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:c(()=>[p(_,{type:"submit"},{default:c(()=>[C(" Submit ")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{L as default}; +import b from"./PrimaryButton.FlXkNIab.js";import{_ as v}from"./ChallengeV2.vue.-Nph38q1.js";import{d as x,r as g,a5 as y,b as i,c as u,e as n,a3 as S,a4 as h,L as a,$ as d,t as w,f as B,g as p,w as c,G as C}from"./entry.DMNM28aL.js";import{u as N,c as $,a as k,b as D}from"./index.esm.5yGQZtXl.js";import"./component-v2.IsIoIgya.js";import"./index.lhx1JYyI.js";import"./_commonjsHelpers.5-cIlDoe.js";const E={key:0,class:"text-red"},L=x({__name:"VeeValidateInvisible",setup(F){const{handleSubmit:f}=N({validationSchema:$({name:k().required()})}),{value:s,errorMessage:r}=D("name"),t=g(),l=f(async m=>{await y(t).changed(),console.log({...m,response:t.value})});return(m,e)=>{const _=b,V=v;return i(),u("form",{class:"flex flex-col gap-2",onSubmit:e[2]||(e[2]=(...o)=>a(l)&&a(l)(...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(r)?(i(),u("div",E,w(a(r)),1)):B("",!0)]),n("div",null,[p(V,{modelValue:a(t),"onUpdate:modelValue":e[1]||(e[1]=o=>d(t)?t.value=o:null)},{default:c(()=>[p(_,{type:"submit"},{default:c(()=>[C(" Submit ")]),_:1})]),_:1},8,["modelValue"])])],32)}}});export{L as default}; diff --git a/_nuxt/VideoPlayer.Ys8XZz6o.js b/_nuxt/VideoPlayer.Wl48Pgvy.js similarity index 93% rename from _nuxt/VideoPlayer.Ys8XZz6o.js rename to _nuxt/VideoPlayer.Wl48Pgvy.js index cfdb37d5c5..26bf5b7134 100644 --- a/_nuxt/VideoPlayer.Ys8XZz6o.js +++ b/_nuxt/VideoPlayer.Wl48Pgvy.js @@ -1 +1 @@ -import{_ as m}from"./NuxtImg.vue.0VDIrUXY.js";import{d as f,K as i,r as _,b as s,c as a,L as e,Y as h,f as u,F as k,aF as v,n as b,p as w,i as g,e as x,k as B}from"./entry.q1HaRjkf.js";const I=t=>(w("data-v-6bf23cab"),t=t(),g(),t),S={key:1,class:"loaded"},C=["poster"],V=["src"],$=["src","type"],F=["autoplay","src"],N=I(()=>x("button",null,null,-1)),E=[N],L=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=_(!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=m;return s(),a("div",{class:b(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),h(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",S,[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,F)):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(k,null,v(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,C))])):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)}}}),q=B(L,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; +import{_ as m}from"./NuxtImg.vue.8kvkqvZy.js";import{d as f,K as i,r as _,b as s,c as a,L as e,Y as h,f as u,F as k,aF as v,n as b,p as w,i as g,e as x,k as B}from"./entry.DMNM28aL.js";const I=t=>(w("data-v-6bf23cab"),t=t(),g(),t),S={key:1,class:"loaded"},C=["poster"],V=["src"],$=["src","type"],F=["autoplay","src"],N=I(()=>x("button",null,null,-1)),E=[N],L=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=_(!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=m;return s(),a("div",{class:b(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),h(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",S,[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,F)):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(k,null,v(t.sources,n=>(s(),a("source",{key:n.src||n,src:n.src||n,type:n.type},null,8,$))),128))],8,C))])):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)}}}),q=B(L,[["__scopeId","data-v-6bf23cab"]]);export{q as default}; diff --git a/_nuxt/VoltaBoard.tukDOokH.js b/_nuxt/VoltaBoard.5Hy9XdE-.js similarity index 78% rename from _nuxt/VoltaBoard.tukDOokH.js rename to _nuxt/VoltaBoard.5Hy9XdE-.js index b6f8c6ba0d..a5ea39e529 100644 --- a/_nuxt/VoltaBoard.tukDOokH.js +++ b/_nuxt/VoltaBoard.5Hy9XdE-.js @@ -1 +1 @@ -import{d as s,K as r,b as n,c,L as a}from"./entry.q1HaRjkf.js";const p=["src"],d=s({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=r(()=>`https://volta.net/embed/${t.token}`);return(l,u)=>(n(),c("iframe",{src:a(o),class:"w-full"},null,8,p))}});export{d as default}; +import{d as s,K as r,b as n,c,L as a}from"./entry.DMNM28aL.js";const p=["src"],d=s({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=r(()=>`https://volta.net/embed/${t.token}`);return(l,u)=>(n(),c("iframe",{src:a(o),class:"w-full"},null,8,p))}});export{d as default}; diff --git a/_nuxt/arc.qN4MtU4T.js b/_nuxt/arc.ndZ8SnWc.js similarity index 96% rename from _nuxt/arc.qN4MtU4T.js rename to _nuxt/arc.ndZ8SnWc.js index 5270cf3b3a..39e08b764e 100644 --- a/_nuxt/arc.qN4MtU4T.js +++ b/_nuxt/arc.ndZ8SnWc.js @@ -1 +1 @@ -import{w as ln,c as Q}from"./path.aUcfwwLI.js";import{aN as an,aO as X,aP as O,aQ as rn,aR as y,aJ as on,aS as z,aT as _,aU as un,aV as t,aW as sn,aX as tn,aY as fn}from"./mermaid-934d9bea.A2NtSsGH.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 dn(l,h,D,S,v,R,U,a){var E=D-l,i=S-h,n=U-v,m=a-R,r=m*E-n*i;if(!(r*ru*u+W*W&&(J=w,N=d),{cx:J,cy:N,x01:-n,y01:-m,x11:J*(v/T-1),y11:N*(v/T-1)}}function vn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=mn,U=pn,a=null,E=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,V=un(c-f),o=c>f;if(a||(a=n=E()),sy))a.moveTo(0,0);else if(V>on-y)a.moveTo(s*X(f),s*O(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*X(c),r*O(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=V,I=V,J=U.apply(this,arguments)/2,N=J>y&&(S?+S.apply(this,arguments):z(r*r+s*s)),w=_(un(s-r)/2,+D.apply(this,arguments)),d=w,x=w,e,u;if(N>y){var W=sn(N/r*O(J)),B=sn(N/s*O(J));(P-=W*2)>y?(W*=o?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(I-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(I=0,p=g=(f+c)/2)}var Y=s*X(p),j=s*O(p),C=r*X(T),F=r*O(T);if(w>y){var G=s*X(g),H=s*O(g),L=r*X(A),M=r*O(A),q;if(Vy?x>y?(e=K(L,M,Y,j,s,x,o),u=K(G,H,C,F,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(C,F):d>y?(e=K(C,F,G,H,r,-d,o),u=K(Y,j,L,M,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),du*u+W*W&&(J=w,N=d),{cx:J,cy:N,x01:-n,y01:-m,x11:J*(v/T-1),y11:N*(v/T-1)}}function vn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=mn,U=pn,a=null,E=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,V=un(c-f),o=c>f;if(a||(a=n=E()),sy))a.moveTo(0,0);else if(V>on-y)a.moveTo(s*X(f),s*O(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*X(c),r*O(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=V,I=V,J=U.apply(this,arguments)/2,N=J>y&&(S?+S.apply(this,arguments):z(r*r+s*s)),w=_(un(s-r)/2,+D.apply(this,arguments)),d=w,x=w,e,u;if(N>y){var W=sn(N/r*O(J)),B=sn(N/s*O(J));(P-=W*2)>y?(W*=o?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(I-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(I=0,p=g=(f+c)/2)}var Y=s*X(p),j=s*O(p),C=r*X(T),F=r*O(T);if(w>y){var G=s*X(g),H=s*O(g),L=r*X(A),M=r*O(A),q;if(Vy?x>y?(e=K(L,M,Y,j,s,x,o),u=K(G,H,C,F,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(C,F):d>y?(e=K(C,F,G,H,r,-d,o),u=K(Y,j,L,M,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),d"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var ke=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ae()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>Ee&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: +import{s as Ce,g as we,a as Oe,b as Te,c as Dt,d as ue,e as Re,f as wt,h as Nt,l as le,i as De,w as Se,j as Kt,k as oe,n as Pe}from"./mermaid-934d9bea.1859dh9d.js";import{d as Me,g as Le}from"./svgDrawCommon-ad5ef572.m9jf1X3z.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";var Yt=function(){var e=function(bt,_,x,m){for(x=x||{},m=bt.length;m--;x[bt[m]]=_);return x},t=[1,24],a=[1,25],o=[1,26],l=[1,27],i=[1,28],s=[1,63],r=[1,64],n=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],E=[1,29],O=[1,30],R=[1,31],S=[1,32],L=[1,33],Y=[1,34],Q=[1,35],H=[1,36],q=[1,37],G=[1,38],K=[1,39],J=[1,40],Z=[1,41],$=[1,42],tt=[1,43],et=[1,44],it=[1,45],nt=[1,46],st=[1,47],at=[1,48],rt=[1,50],lt=[1,51],ot=[1,52],ct=[1,53],ht=[1,54],ut=[1,55],dt=[1,56],ft=[1,57],pt=[1,58],yt=[1,59],gt=[1,60],At=[14,42],Vt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],v=[1,82],k=[1,83],A=[1,84],C=[1,85],w=[12,14,42],ne=[12,14,33,42],Pt=[12,14,33,42,76,77,79,80],mt=[12,33],zt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Xt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(_,x,m,g,T,u,Tt){var y=u.length-1;switch(T){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(u[y-3]);break;case 19:g.setTitle(u[y].substring(6)),this.$=u[y].substring(6);break;case 20:g.setAccDescription(u[y].substring(15)),this.$=u[y].substring(15);break;case 21:this.$=u[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=u[y].trim(),g.setAccDescription(this.$);break;case 28:case 29:u[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 30:g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 31:u[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...u[y]),this.$=u[y];break;case 32:g.addDeploymentNode("node",...u[y]),this.$=u[y];break;case 33:g.addDeploymentNode("nodeL",...u[y]),this.$=u[y];break;case 34:g.addDeploymentNode("nodeR",...u[y]),this.$=u[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...u[y]),this.$=u[y];break;case 40:g.addPersonOrSystem("external_person",...u[y]),this.$=u[y];break;case 41:g.addPersonOrSystem("system",...u[y]),this.$=u[y];break;case 42:g.addPersonOrSystem("system_db",...u[y]),this.$=u[y];break;case 43:g.addPersonOrSystem("system_queue",...u[y]),this.$=u[y];break;case 44:g.addPersonOrSystem("external_system",...u[y]),this.$=u[y];break;case 45:g.addPersonOrSystem("external_system_db",...u[y]),this.$=u[y];break;case 46:g.addPersonOrSystem("external_system_queue",...u[y]),this.$=u[y];break;case 47:g.addContainer("container",...u[y]),this.$=u[y];break;case 48:g.addContainer("container_db",...u[y]),this.$=u[y];break;case 49:g.addContainer("container_queue",...u[y]),this.$=u[y];break;case 50:g.addContainer("external_container",...u[y]),this.$=u[y];break;case 51:g.addContainer("external_container_db",...u[y]),this.$=u[y];break;case 52:g.addContainer("external_container_queue",...u[y]),this.$=u[y];break;case 53:g.addComponent("component",...u[y]),this.$=u[y];break;case 54:g.addComponent("component_db",...u[y]),this.$=u[y];break;case 55:g.addComponent("component_queue",...u[y]),this.$=u[y];break;case 56:g.addComponent("external_component",...u[y]),this.$=u[y];break;case 57:g.addComponent("external_component_db",...u[y]),this.$=u[y];break;case 58:g.addComponent("external_component_queue",...u[y]),this.$=u[y];break;case 60:g.addRel("rel",...u[y]),this.$=u[y];break;case 61:g.addRel("birel",...u[y]),this.$=u[y];break;case 62:g.addRel("rel_u",...u[y]),this.$=u[y];break;case 63:g.addRel("rel_d",...u[y]),this.$=u[y];break;case 64:g.addRel("rel_l",...u[y]),this.$=u[y];break;case 65:g.addRel("rel_r",...u[y]),this.$=u[y];break;case 66:g.addRel("rel_b",...u[y]),this.$=u[y];break;case 67:u[y].splice(0,1),g.addRel("rel",...u[y]),this.$=u[y];break;case 68:g.updateElStyle("update_el_style",...u[y]),this.$=u[y];break;case 69:g.updateRelStyle("update_rel_style",...u[y]),this.$=u[y];break;case 70:g.updateLayoutConfig("update_layout_config",...u[y]),this.$=u[y];break;case 71:this.$=[u[y]];break;case 72:u[y].unshift(u[y-1]),this.$=u[y];break;case 73:case 75:this.$=u[y].trim();break;case 74:let Et={};Et[u[y-1].trim()]=u[y].trim(),this.$=Et;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:70,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:71,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:72,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:73,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{14:[1,74]},e(At,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(At,[2,14]),e(Vt,[2,16],{12:[1,76]}),e(At,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:v,77:k,79:A,80:C},{35:86,75:81,76:v,77:k,79:A,80:C},{35:87,75:81,76:v,77:k,79:A,80:C},{35:88,75:81,76:v,77:k,79:A,80:C},{35:89,75:81,76:v,77:k,79:A,80:C},{35:90,75:81,76:v,77:k,79:A,80:C},{35:91,75:81,76:v,77:k,79:A,80:C},{35:92,75:81,76:v,77:k,79:A,80:C},{35:93,75:81,76:v,77:k,79:A,80:C},{35:94,75:81,76:v,77:k,79:A,80:C},{35:95,75:81,76:v,77:k,79:A,80:C},{35:96,75:81,76:v,77:k,79:A,80:C},{35:97,75:81,76:v,77:k,79:A,80:C},{35:98,75:81,76:v,77:k,79:A,80:C},{35:99,75:81,76:v,77:k,79:A,80:C},{35:100,75:81,76:v,77:k,79:A,80:C},{35:101,75:81,76:v,77:k,79:A,80:C},{35:102,75:81,76:v,77:k,79:A,80:C},{35:103,75:81,76:v,77:k,79:A,80:C},{35:104,75:81,76:v,77:k,79:A,80:C},e(w,[2,59]),{35:105,75:81,76:v,77:k,79:A,80:C},{35:106,75:81,76:v,77:k,79:A,80:C},{35:107,75:81,76:v,77:k,79:A,80:C},{35:108,75:81,76:v,77:k,79:A,80:C},{35:109,75:81,76:v,77:k,79:A,80:C},{35:110,75:81,76:v,77:k,79:A,80:C},{35:111,75:81,76:v,77:k,79:A,80:C},{35:112,75:81,76:v,77:k,79:A,80:C},{35:113,75:81,76:v,77:k,79:A,80:C},{35:114,75:81,76:v,77:k,79:A,80:C},{35:115,75:81,76:v,77:k,79:A,80:C},{20:116,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{12:[1,118],33:[1,117]},{35:119,75:81,76:v,77:k,79:A,80:C},{35:120,75:81,76:v,77:k,79:A,80:C},{35:121,75:81,76:v,77:k,79:A,80:C},{35:122,75:81,76:v,77:k,79:A,80:C},{35:123,75:81,76:v,77:k,79:A,80:C},{35:124,75:81,76:v,77:k,79:A,80:C},{35:125,75:81,76:v,77:k,79:A,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(At,[2,15]),e(Vt,[2,17],{21:22,19:130,22:t,23:a,24:o,26:l,28:i}),e(At,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:a,24:o,26:l,28:i,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(Ot,[2,21]),e(Ot,[2,22]),e(w,[2,39]),e(ne,[2,71],{75:81,35:132,76:v,77:k,79:A,80:C}),e(Pt,[2,73]),{78:[1,133]},e(Pt,[2,75]),e(Pt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),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,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(mt,[2,28]),e(mt,[2,29]),e(mt,[2,30]),e(mt,[2,31]),e(mt,[2,32]),e(mt,[2,33]),e(mt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Vt,[2,18]),e(At,[2,38]),e(ne,[2,72]),e(Pt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(zt,[2,25]),e(zt,[2,26],{12:[1,138]}),e(zt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},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=[],T=[null],u=[],Tt=this.table,y="",Et=0,se=0,Ee=2,ae=1,ve=u.slice.call(arguments,1),D=Object.create(this.lexer),vt={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(vt.yy[Qt]=this.yy[Qt]);D.setInput(_,vt.yy),vt.yy.lexer=D,vt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var ke=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ae()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>Ee&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: `+D.showPosition()+` Expecting `+Lt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Gt="Parse error on line "+(Et+1)+": Unexpected "+(M==ae?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Gt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:Ht,expected:Lt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+M);switch(N[0]){case 1:m.push(M),T.push(D.yytext),u.push(D.yylloc),m.push(N[1]),M=null,se=D.yyleng,y=D.yytext,Et=D.yylineno,Ht=D.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Ct.$=T[T.length-z],Ct._$={first_line:u[u.length-(z||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(z||1)].first_column,last_column:u[u.length-1].last_column},ke&&(Ct._$.range=[u[u.length-(z||1)].range[0],u[u.length-1].range[1]]),qt=this.performAction.apply(Ct,[y,se,Et,vt.yy,N[1],T,u].concat(ve)),typeof qt<"u")return qt;z&&(m=m.slice(0,-1*z*2),T=T.slice(0,-1*z),u=u.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),T.push(Ct.$),u.push(Ct._$),re=Tt[m[m.length-2]][m[m.length-1]],m.push(re);break;case 3:return!0}}return!0}},me=function(){var bt={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 T=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=[T[0],T[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-48ab76fb.gLlPfGHk.js b/_nuxt/classDiagram-48ab76fb.D_lcLS0a.js similarity index 97% rename from _nuxt/classDiagram-48ab76fb.gLlPfGHk.js rename to _nuxt/classDiagram-48ab76fb.D_lcLS0a.js index 0fbb1278f3..ff52878ace 100644 --- a/_nuxt/classDiagram-48ab76fb.gLlPfGHk.js +++ b/_nuxt/classDiagram-48ab76fb.D_lcLS0a.js @@ -1,2 +1,2 @@ -import{p as A,d as S,s as G}from"./styles-4ba6ed67.BJp1BgDu.js";import{c as v,l as y,h as B,i as W,ap as $,z as M,as as I}from"./mermaid-934d9bea.A2NtSsGH.js";import{G as O,l as P}from"./layout.m-I5JUDt.js";import{l as X}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.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",u).attr("y",m).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",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.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",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +import{p as A,d as S,s as G}from"./styles-4ba6ed67.bD9c0s06.js";import{c as v,l as y,h as B,i as W,ap as $,z as M,as as I}from"./mermaid-934d9bea.1859dh9d.js";import{G as O,l as P}from"./layout.nII1iIDV.js";import{l as X}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.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",u).attr("y",m).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",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.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",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` `);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.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")},z=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},F={draw:z},et={parser:A,db:S,renderer:F,styles:G,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{et as diagram}; diff --git a/_nuxt/classDiagram-v2-8ecb0bfc.dqc82LgD.js b/_nuxt/classDiagram-v2-8ecb0bfc.bgcmPq0w.js similarity index 92% rename from _nuxt/classDiagram-v2-8ecb0bfc.dqc82LgD.js rename to _nuxt/classDiagram-v2-8ecb0bfc.bgcmPq0w.js index 7e86144718..025fb3ac88 100644 --- a/_nuxt/classDiagram-v2-8ecb0bfc.dqc82LgD.js +++ b/_nuxt/classDiagram-v2-8ecb0bfc.bgcmPq0w.js @@ -1,2 +1,2 @@ -import{p as M,d as N,s as $}from"./styles-4ba6ed67.BJp1BgDu.js";import{l as d,c,h as w,z as R,u as B,t as E,p as _,q as G,j as C}from"./mermaid-934d9bea.A2NtSsGH.js";import{G as z}from"./layout.m-I5JUDt.js";import{r as q}from"./index-67a42d7d.xUqpZOgv.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./edges-80f1ebb6.sUApLEFd.js";import"./createText-aebacdfe.T0gmTUMP.js";import"./line.GPn4lxsZ.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const S=s=>C.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const P=function(s,t,y,n){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),A(l.classes,t,y,n,l.id),d.info("setNode",p)})},A=function(s,t,y,n,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const a=s[o],p=a.cssClasses.join(" "),f={labelStyle:"",style:""},h=a.label??a.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(h),classData:a,rx:u,ry:u,class:p,style:f.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,e)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(a.id,b),e&&t.setParent(a.id,e),d.info("setNode",b)})},F=function(s,t,y,n){d.info(s),s.forEach(function(e,i){var o,r;const l=e,a="",p={labelStyle:"",style:""},f=l.text,h=0,m={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:h,ry:h,class:a,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in n))return;const b=y+i,g={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,_)};t.setEdge(l.id,l.class,g,b)})},H=function(s,t){const y=c().flowchart;let n=0;s.forEach(function(e){var i;n++;const o={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:D(e.relation.type1),arrowTypeEnd:D(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,_)};if(d.info(o,e),e.style!==void 0){const r=G(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(C.lineBreakRegex,` +import{p as M,d as N,s as $}from"./styles-4ba6ed67.bD9c0s06.js";import{l as d,c,h as w,z as R,u as B,t as E,p as _,q as G,j as C}from"./mermaid-934d9bea.1859dh9d.js";import{G as z}from"./layout.nII1iIDV.js";import{r as q}from"./index-67a42d7d.V6muVu2_.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./edges-80f1ebb6.d3gBK9Nl.js";import"./createText-aebacdfe.wmc7v5UB.js";import"./line.ik9Fl7Dj.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const S=s=>C.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const P=function(s,t,y,n){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),A(l.classes,t,y,n,l.id),d.info("setNode",p)})},A=function(s,t,y,n,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const a=s[o],p=a.cssClasses.join(" "),f={labelStyle:"",style:""},h=a.label??a.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(h),classData:a,rx:u,ry:u,class:p,style:f.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,e)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(a.id,b),e&&t.setParent(a.id,e),d.info("setNode",b)})},F=function(s,t,y,n){d.info(s),s.forEach(function(e,i){var o,r;const l=e,a="",p={labelStyle:"",style:""},f=l.text,h=0,m={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:h,ry:h,class:a,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in n))return;const b=y+i,g={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,_)};t.setEdge(l.id,l.class,g,b)})},H=function(s,t){const y=c().flowchart;let n=0;s.forEach(function(e){var i;n++;const o={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:D(e.relation.type1),arrowTypeEnd:D(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,_)};if(d.info(o,e),e.style!==void 0){const r=G(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(C.lineBreakRegex,` `),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,n)})},V=function(s){k={...k,...s}},W=async function(s,t,y,n){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=n.db.getNamespaces(),p=n.db.getClasses(),f=n.db.getRelations(),h=n.db.getNotes();d.info(f),P(a,l,t,n),A(p,l,t,n),H(f,l),F(h,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+t));const m=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=m.select(`[id="${t}"]`),g=m.select("#"+t+" g");if(await q(g,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),R.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,n.db.getDiagramTitle()),B(l,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const x of I){const L=x.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),x.insertBefore(v,x.firstChild)}}};function D(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},le={parser:M,db:N,renderer:J,styles:$,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,N.clear()}};export{le as diagram}; diff --git a/_nuxt/client-db.vOAFLTFq.js b/_nuxt/client-db.qmKneCqM.js similarity index 99% rename from _nuxt/client-db.vOAFLTFq.js rename to _nuxt/client-db.qmKneCqM.js index c7311a342d..a2ec60767f 100644 --- a/_nuxt/client-db.vOAFLTFq.js +++ b/_nuxt/client-db.qmKneCqM.js @@ -1 +1 @@ -import{ak as _,aX as W,aY as j,aZ as E,a_ as B,a$ as T,b0 as $,b1 as P,b2 as x,az as J,ai as b,l as M,b3 as k,al as N,aJ as H,j as q}from"./entry.q1HaRjkf.js";import{c as G}from"./_commonjsHelpers.5-cIlDoe.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 U(){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;U();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(U(),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 z(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",G,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(b).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 Y(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(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?Y(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=>H(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:z(t),query:n=>k(z(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=q(),{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{ak as _,aX as W,aY as j,aZ as E,a_ as B,a$ as T,b0 as $,b1 as P,b2 as x,az as J,ai as b,l as M,b3 as k,al as N,aJ as H,j as q}from"./entry.DMNM28aL.js";import{c as G}from"./_commonjsHelpers.5-cIlDoe.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 U(){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;U();const t=Buffer.from(r).toString("base64");return C+t}function te(r){return typeof r!="string"||!r.startsWith(C)?r:(U(),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 z(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",G,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(b).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 Y(l)}const ge=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(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?Y(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=>H(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:z(t),query:n=>k(z(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=q(),{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.sKjNcOqD.js b/_nuxt/component-v2.IsIoIgya.js similarity index 90% rename from _nuxt/component-v2.sKjNcOqD.js rename to _nuxt/component-v2.IsIoIgya.js index 6a9bd65da0..32f4f4838c 100644 --- a/_nuxt/component-v2.sKjNcOqD.js +++ b/_nuxt/component-v2.IsIoIgya.js @@ -1 +1 @@ -import{t as b,w as g,c as v}from"./index.yCA1HJN8.js";import{ar as K,r as x,as as m,K as y,a7 as C}from"./entry.q1HaRjkf.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function D({root:r=x(),options:f={}}){const e=K(),t=x(),n=m(),i=v(),a=v(),u=v(),l=b(r),s=x("init");return g(l,async p=>{const d=await n.render(p,{...f,sitekey:e,callback:i.trigger,"expired-callback":a.trigger,"error-callback":u.trigger});t.value=d}),i.on(()=>{s.value="verified"}),a.on(()=>{s.value="expired"}),u.on(()=>{s.value="error"}),{root:l,widgetID:t,execute(){typeof t.value<"u"&&n.execute(t.value)},reset(){s.value="init",typeof t.value<"u"&&n.reset(t.value)},state:s,onVerify:i.on,onExpired:a.on,onError:u.on}}function A(r,f,e){const{root:t,state:n,widgetID:i,onError:a,onExpired:u,onVerify:l,reset:s,execute:p}=D({options:r||{}}),d=y(()=>n.value===c.Expired),V=y(()=>n.value===c.Error),w=y(()=>n.value===c.Verified);return g(i,o=>{e("load",o),e("update:widgetId",o)}),C(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",i.value)}),a(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:t,widgetID:i,state:n,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){s(),k()}function k(){e("update:modelValue",null)}}export{c as R,A as u}; +import{t as b,w as g,c as v}from"./index.lhx1JYyI.js";import{ar as K,r as x,as as m,K as y,a7 as C}from"./entry.DMNM28aL.js";var c=(r=>(r.Init="init",r.Verified="verified",r.Expired="expired",r.Error="error",r))(c||{});function D({root:r=x(),options:f={}}){const e=K(),t=x(),n=m(),i=v(),a=v(),u=v(),l=b(r),s=x("init");return g(l,async p=>{const d=await n.render(p,{...f,sitekey:e,callback:i.trigger,"expired-callback":a.trigger,"error-callback":u.trigger});t.value=d}),i.on(()=>{s.value="verified"}),a.on(()=>{s.value="expired"}),u.on(()=>{s.value="error"}),{root:l,widgetID:t,execute(){typeof t.value<"u"&&n.execute(t.value)},reset(){s.value="init",typeof t.value<"u"&&n.reset(t.value)},state:s,onVerify:i.on,onExpired:a.on,onError:u.on}}function A(r,f,e){const{root:t,state:n,widgetID:i,onError:a,onExpired:u,onVerify:l,reset:s,execute:p}=D({options:r||{}}),d=y(()=>n.value===c.Expired),V=y(()=>n.value===c.Error),w=y(()=>n.value===c.Verified);return g(i,o=>{e("load",o),e("update:widgetId",o)}),C(f,(o,I)=>{!o&&I&&!d.value&&E()}),u(()=>{e("update:modelValue",null),e("expired",i.value)}),a(o=>{e("error",o)}),l(o=>{e("success",o),e("update:modelValue",o)}),{root:t,widgetID:i,state:n,isError:V,isExpired:d,isVerified:w,reset:E,execute:p};function E(){s(),k()}function k(){e("update:modelValue",null)}}export{c as R,A as u}; diff --git a/_nuxt/createText-aebacdfe.T0gmTUMP.js b/_nuxt/createText-aebacdfe.wmc7v5UB.js similarity index 99% rename from _nuxt/createText-aebacdfe.T0gmTUMP.js rename to _nuxt/createText-aebacdfe.wmc7v5UB.js index dd20adfe99..9980d286a7 100644 --- a/_nuxt/createText-aebacdfe.T0gmTUMP.js +++ b/_nuxt/createText-aebacdfe.wmc7v5UB.js @@ -1,4 +1,4 @@ -import{l as At,ao as zt,aq as It}from"./mermaid-934d9bea.A2NtSsGH.js";const Tt={};function Bt(n,r){const t=r||Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return et(n,e,i)}function et(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Vn(n.children,r,t)}return Array.isArray(n)?Vn(n,r,t):""}function Vn(n,r,t){const e=[];let i=-1;for(;++ii?0:i+r:r=r>i?i:r,t=t>0?t:0,e.length<1e4)u=Array.from(e),u.unshift(r,t),[].splice.apply(n,u);else for(t&&[].splice.apply(n,[r,t]);l0?(en(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tu))return;const P=r.events.length;let R=P,j,V;for(;R--;)if(r.events[R][0]==="exit"&&r.events[R][1].type==="chunkFlow"){if(j){V=r.events[R][1].end;break}j=!0}for(y(e),d=P;dF;){const O=t[L];r.containerState=O[1],O[0].exit.call(r,n)}t.length=F}function _(){i.write([null]),l=void 0,i=void 0,r.containerState._closeFlow=void 0}}function Qt(n,r,t){return T(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function $n(n){if(n===null||Y(n)||jt(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let i=-1;for(;++i1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const x=Object.assign({},n[e][1].end),g=Object.assign({},n[t][1].start);Zn(x,-c),Zn(g,c),u={type:c>1?"strongSequence":"emphasisSequence",start:x,end:Object.assign({},n[e][1].end)},a={type:c>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:g},l={type:c>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},i={type:c>1?"strong":"emphasis",start:Object.assign({},u.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},u.start),n[t][1].start=Object.assign({},a.end),p=[],n[e][1].end.offset-n[e][1].start.offset&&(p=Z(p,[["enter",n[e][1],r],["exit",n[e][1],r]])),p=Z(p,[["enter",i,r],["enter",u,r],["exit",u,r],["enter",l,r]]),p=Z(p,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),p=Z(p,[["exit",l,r],["enter",a,r],["exit",a,r],["exit",i,r]]),n[t][1].end.offset-n[t][1].start.offset?(h=2,p=Z(p,[["enter",n[t][1],r],["exit",n[t][1],r]])):h=0,en(n,e-1,t-e+3,p),t=e+p.length-h-2;break}}for(t=-1;++t=4?u(p):t(p)}function u(p){return p===null?c(p):C(p)?n.attempt(ee,u,c)(p):(n.enter("codeFlowValue"),a(p))}function a(p){return p===null||C(p)?(n.exit("codeFlowValue"),u(p)):(n.consume(p),a)}function c(p){return n.exit("codeIndented"),r(p)}}function ie(n,r,t){const e=this;return i;function i(u){return e.parser.lazy[e.now().line]?t(u):C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),i):T(n,l,"linePrefix",5)(u)}function l(u){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(u):C(u)?i(u):t(u)}}const ue={name:"codeText",tokenize:oe,resolve:le,previous:ae};function le(n){let r=n.length-4,t=3,e,i;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(u):n.interrupt(e.parser.constructs.flow,t,r)(u)}}function at(n,r,t,e,i,l,u,a,c){const p=c||Number.POSITIVE_INFINITY;let h=0;return x;function x(y){return y===60?(n.enter(e),n.enter(i),n.enter(l),n.consume(y),n.exit(l),g):y===null||y===41||zn(y)?t(y):(n.enter(e),n.enter(u),n.enter(a),n.enter("chunkString",{contentType:"string"}),B(y))}function g(y){return y===62?(n.enter(l),n.consume(y),n.exit(l),n.exit(i),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),f(y))}function f(y){return y===62?(n.exit("chunkString"),n.exit(a),g(y)):y===null||y===60||C(y)?t(y):(n.consume(y),y===92?k:f)}function k(y){return y===60||y===62||y===92?(n.consume(y),f):f(y)}function B(y){return y===40?++h>p?t(y):(n.consume(y),B):y===41?h--?(n.consume(y),B):(n.exit("chunkString"),n.exit(a),n.exit(u),n.exit(e),r(y)):y===null||Y(y)?h?t(y):(n.exit("chunkString"),n.exit(a),n.exit(u),n.exit(e),r(y)):zn(y)?t(y):(n.consume(y),y===92?D:B)}function D(y){return y===40||y===41||y===92?(n.consume(y),B):B(y)}}function ot(n,r,t,e,i,l){const u=this;let a=0,c;return p;function p(f){return n.enter(e),n.enter(i),n.consume(f),n.exit(i),n.enter(l),h}function h(f){return f===null||f===91||f===93&&!c||f===94&&!a&&"_hiddenFootnoteSupport"in u.parser.constructs||a>999?t(f):f===93?(n.exit(l),n.enter(i),n.consume(f),n.exit(i),n.exit(e),r):C(f)?(n.enter("lineEnding"),n.consume(f),n.exit("lineEnding"),h):(n.enter("chunkString",{contentType:"string"}),x(f))}function x(f){return f===null||f===91||f===93||C(f)||a++>999?(n.exit("chunkString"),h(f)):(n.consume(f),c=c||!q(f),f===92?g:x)}function g(f){return f===91||f===92||f===93?(n.consume(f),a++,x):x(f)}}function st(n,r,t,e,i,l){let u;return a;function a(g){return n.enter(e),n.enter(i),n.consume(g),n.exit(i),u=g===40?41:g,c}function c(g){return g===u?(n.enter(i),n.consume(g),n.exit(i),n.exit(e),r):(n.enter(l),p(g))}function p(g){return g===u?(n.exit(l),c(u)):g===null?t(g):C(g)?(n.enter("lineEnding"),n.consume(g),n.exit("lineEnding"),T(n,p,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===u||g===null||C(g)?(n.exit("chunkString"),p(g)):(n.consume(g),g===92?x:h)}function x(g){return g===u||g===92?(n.consume(g),h):h(g)}}function dn(n,r){let t;return e;function e(i){return C(i)?(n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),t=!0,e):q(i)?T(n,e,t?"linePrefix":"lineSuffix")(i):r(i)}}function fn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const xe={name:"definition",tokenize:ke},ge={tokenize:de,partial:!0};function ke(n,r,t){const e=this;let i;return l;function l(c){return n.enter("definition"),ot.call(e,n,u,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(c)}function u(c){return i=fn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),c===58?(n.enter("definitionMarker"),n.consume(c),n.exit("definitionMarker"),dn(n,at(n,n.attempt(ge,T(n,a,"whitespace"),T(n,a,"whitespace")),t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):t(c)}function a(c){return c===null||C(c)?(n.exit("definition"),e.parser.defined.includes(i)||e.parser.defined.push(i),r(c)):t(c)}}function de(n,r,t){return e;function e(u){return Y(u)?dn(n,i)(u):t(u)}function i(u){return u===34||u===39||u===40?st(n,T(n,l,"whitespace"),t,"definitionTitle","definitionTitleMarker","definitionTitleString")(u):t(u)}function l(u){return u===null||C(u)?r(u):t(u)}}const be={name:"hardBreakEscape",tokenize:ye};function ye(n,r,t){return e;function e(l){return n.enter("hardBreakEscape"),n.enter("escapeMarker"),n.consume(l),i}function i(l){return C(l)?(n.exit("escapeMarker"),n.exit("hardBreakEscape"),r(l)):t(l)}}const Se={name:"headingAtx",tokenize:Ee,resolve:Fe};function Fe(n,r){let t=n.length-2,e=3,i,l;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(i={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},l={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},en(n,e,t-e+1,[["enter",i,r],["enter",l,r],["exit",l,r],["exit",i,r]])),n}function Ee(n,r,t){const e=this;let i=0;return l;function l(h){return n.enter("atxHeading"),n.enter("atxHeadingSequence"),u(h)}function u(h){return h===35&&i++<6?(n.consume(h),u):h===null||Y(h)?(n.exit("atxHeadingSequence"),e.interrupt?r(h):a(h)):t(h)}function a(h){return h===35?(n.enter("atxHeadingSequence"),c(h)):h===null||C(h)?(n.exit("atxHeading"),r(h)):q(h)?T(n,a,"whitespace")(h):(n.enter("atxHeadingText"),p(h))}function c(h){return h===35?(n.consume(h),c):(n.exit("atxHeadingSequence"),a(h))}function p(h){return h===null||h===35||Y(h)?(n.exit("atxHeadingText"),a(h)):(n.consume(h),p)}}const we=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],Ce={name:"htmlFlow",tokenize:Ie,resolveTo:ze,concrete:!0},Ae={tokenize:Te,partial:!0};function ze(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Ie(n,r,t){const e=this;let i,l,u,a,c;return p;function p(o){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(o),h}function h(o){return o===33?(n.consume(o),x):o===47?(n.consume(o),k):o===63?(n.consume(o),i=3,e.interrupt?r:U):tn(o)?(n.consume(o),u=String.fromCharCode(o),l=!0,B):t(o)}function x(o){return o===45?(n.consume(o),i=2,g):o===91?(n.consume(o),i=5,u="CDATA[",a=0,f):tn(o)?(n.consume(o),i=4,e.interrupt?r:U):t(o)}function g(o){return o===45?(n.consume(o),e.interrupt?r:U):t(o)}function f(o){return o===u.charCodeAt(a++)?(n.consume(o),a===u.length?e.interrupt?r:S:f):t(o)}function k(o){return tn(o)?(n.consume(o),u=String.fromCharCode(o),B):t(o)}function B(o){return o===null||o===47||o===62||Y(o)?o!==47&&l&&Jn.includes(u.toLowerCase())?(i=1,e.interrupt?r(o):S(o)):we.includes(u.toLowerCase())?(i=6,o===47?(n.consume(o),D):e.interrupt?r(o):S(o)):(i=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(o):l?_(o):y(o)):o===45||v(o)?(n.consume(o),u+=String.fromCharCode(o),B):t(o)}function D(o){return o===62?(n.consume(o),e.interrupt?r:S):t(o)}function y(o){return q(o)?(n.consume(o),y):j(o)}function _(o){return o===47?(n.consume(o),j):o===58||o===95||tn(o)?(n.consume(o),F):q(o)?(n.consume(o),_):j(o)}function F(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),F):L(o)}function L(o){return o===61?(n.consume(o),O):q(o)?(n.consume(o),L):_(o)}function O(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),c=o,d):q(o)?(n.consume(o),O):(c=null,P(o))}function d(o){return o===null||C(o)?t(o):o===c?(n.consume(o),R):(n.consume(o),d)}function P(o){return o===null||o===34||o===39||o===60||o===61||o===62||o===96||Y(o)?L(o):(n.consume(o),P)}function R(o){return o===47||o===62||q(o)?_(o):t(o)}function j(o){return o===62?(n.consume(o),V):t(o)}function V(o){return q(o)?(n.consume(o),V):o===null||C(o)?S(o):t(o)}function S(o){return o===45&&i===2?(n.consume(o),G):o===60&&i===1?(n.consume(o),nn):o===62&&i===4?(n.consume(o),H):o===63&&i===3?(n.consume(o),U):o===93&&i===5?(n.consume(o),W):C(o)&&(i===6||i===7)?n.check(Ae,H,E)(o):o===null||C(o)?E(o):(n.consume(o),S)}function E(o){return n.exit("htmlFlowData"),A(o)}function A(o){return o===null?s(o):C(o)?n.attempt({tokenize:Q,partial:!0},A,s)(o):(n.enter("htmlFlowData"),S(o))}function Q(o,cn,xn){return hn;function hn(K){return o.enter("lineEnding"),o.consume(K),o.exit("lineEnding"),N}function N(K){return e.parser.lazy[e.now().line]?xn(K):cn(K)}}function G(o){return o===45?(n.consume(o),U):S(o)}function nn(o){return o===47?(n.consume(o),u="",J):S(o)}function J(o){return o===62&&Jn.includes(u.toLowerCase())?(n.consume(o),H):tn(o)&&u.length<8?(n.consume(o),u+=String.fromCharCode(o),J):S(o)}function W(o){return o===93?(n.consume(o),U):S(o)}function U(o){return o===62?(n.consume(o),H):o===45&&i===2?(n.consume(o),U):S(o)}function H(o){return o===null||C(o)?(n.exit("htmlFlowData"),s(o)):(n.consume(o),H)}function s(o){return n.exit("htmlFlow"),r(o)}}function Te(n,r,t){return e;function e(i){return n.exit("htmlFlowData"),n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),n.attempt(Sn,r,t)}}const Be={name:"htmlText",tokenize:Le};function Le(n,r,t){const e=this;let i,l,u,a;return c;function c(s){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(s),p}function p(s){return s===33?(n.consume(s),h):s===47?(n.consume(s),P):s===63?(n.consume(s),O):tn(s)?(n.consume(s),V):t(s)}function h(s){return s===45?(n.consume(s),x):s===91?(n.consume(s),l="CDATA[",u=0,D):tn(s)?(n.consume(s),L):t(s)}function x(s){return s===45?(n.consume(s),g):t(s)}function g(s){return s===null||s===62?t(s):s===45?(n.consume(s),f):k(s)}function f(s){return s===null||s===62?t(s):k(s)}function k(s){return s===null?t(s):s===45?(n.consume(s),B):C(s)?(a=k,W(s)):(n.consume(s),k)}function B(s){return s===45?(n.consume(s),H):k(s)}function D(s){return s===l.charCodeAt(u++)?(n.consume(s),u===l.length?y:D):t(s)}function y(s){return s===null?t(s):s===93?(n.consume(s),_):C(s)?(a=y,W(s)):(n.consume(s),y)}function _(s){return s===93?(n.consume(s),F):y(s)}function F(s){return s===62?H(s):s===93?(n.consume(s),F):y(s)}function L(s){return s===null||s===62?H(s):C(s)?(a=L,W(s)):(n.consume(s),L)}function O(s){return s===null?t(s):s===63?(n.consume(s),d):C(s)?(a=O,W(s)):(n.consume(s),O)}function d(s){return s===62?H(s):O(s)}function P(s){return tn(s)?(n.consume(s),R):t(s)}function R(s){return s===45||v(s)?(n.consume(s),R):j(s)}function j(s){return C(s)?(a=j,W(s)):q(s)?(n.consume(s),j):H(s)}function V(s){return s===45||v(s)?(n.consume(s),V):s===47||s===62||Y(s)?S(s):t(s)}function S(s){return s===47?(n.consume(s),H):s===58||s===95||tn(s)?(n.consume(s),E):C(s)?(a=S,W(s)):q(s)?(n.consume(s),S):H(s)}function E(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),E):A(s)}function A(s){return s===61?(n.consume(s),Q):C(s)?(a=A,W(s)):q(s)?(n.consume(s),A):S(s)}function Q(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),i=s,G):C(s)?(a=Q,W(s)):q(s)?(n.consume(s),Q):(n.consume(s),i=void 0,J)}function G(s){return s===i?(n.consume(s),nn):s===null?t(s):C(s)?(a=G,W(s)):(n.consume(s),G)}function nn(s){return s===62||s===47||Y(s)?S(s):t(s)}function J(s){return s===null||s===34||s===39||s===60||s===61||s===96?t(s):s===62||Y(s)?S(s):(n.consume(s),J)}function W(s){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),T(n,U,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function U(s){return n.enter("htmlTextData"),a(s)}function H(s){return s===62?(n.consume(s),n.exit("htmlTextData"),n.exit("htmlText"),r):t(s)}}const Dn={name:"labelEnd",tokenize:Re,resolveTo:Me,resolveAll:_e},Oe={tokenize:je},De={tokenize:qe},Pe={tokenize:He};function _e(n){let r=-1,t;for(;++r-1&&(u[0]=u[0].slice(e)),l>0&&u.push(n[i].slice(0,l))),u}function cr(n,r){let t=-1;const e=[];let i;for(;++ti?0:i+r:r=r>i?i:r,t=t>0?t:0,e.length<1e4)u=Array.from(e),u.unshift(r,t),[].splice.apply(n,u);else for(t&&[].splice.apply(n,[r,t]);l0?(en(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tu))return;const P=r.events.length;let R=P,j,V;for(;R--;)if(r.events[R][0]==="exit"&&r.events[R][1].type==="chunkFlow"){if(j){V=r.events[R][1].end;break}j=!0}for(y(e),d=P;dF;){const O=t[L];r.containerState=O[1],O[0].exit.call(r,n)}t.length=F}function _(){i.write([null]),l=void 0,i=void 0,r.containerState._closeFlow=void 0}}function Qt(n,r,t){return T(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function $n(n){if(n===null||Y(n)||jt(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let i=-1;for(;++i1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const x=Object.assign({},n[e][1].end),g=Object.assign({},n[t][1].start);Zn(x,-c),Zn(g,c),u={type:c>1?"strongSequence":"emphasisSequence",start:x,end:Object.assign({},n[e][1].end)},a={type:c>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:g},l={type:c>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},i={type:c>1?"strong":"emphasis",start:Object.assign({},u.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},u.start),n[t][1].start=Object.assign({},a.end),p=[],n[e][1].end.offset-n[e][1].start.offset&&(p=Z(p,[["enter",n[e][1],r],["exit",n[e][1],r]])),p=Z(p,[["enter",i,r],["enter",u,r],["exit",u,r],["enter",l,r]]),p=Z(p,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),p=Z(p,[["exit",l,r],["enter",a,r],["exit",a,r],["exit",i,r]]),n[t][1].end.offset-n[t][1].start.offset?(h=2,p=Z(p,[["enter",n[t][1],r],["exit",n[t][1],r]])):h=0,en(n,e-1,t-e+3,p),t=e+p.length-h-2;break}}for(t=-1;++t=4?u(p):t(p)}function u(p){return p===null?c(p):C(p)?n.attempt(ee,u,c)(p):(n.enter("codeFlowValue"),a(p))}function a(p){return p===null||C(p)?(n.exit("codeFlowValue"),u(p)):(n.consume(p),a)}function c(p){return n.exit("codeIndented"),r(p)}}function ie(n,r,t){const e=this;return i;function i(u){return e.parser.lazy[e.now().line]?t(u):C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),i):T(n,l,"linePrefix",5)(u)}function l(u){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(u):C(u)?i(u):t(u)}}const ue={name:"codeText",tokenize:oe,resolve:le,previous:ae};function le(n){let r=n.length-4,t=3,e,i;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(u):n.interrupt(e.parser.constructs.flow,t,r)(u)}}function at(n,r,t,e,i,l,u,a,c){const p=c||Number.POSITIVE_INFINITY;let h=0;return x;function x(y){return y===60?(n.enter(e),n.enter(i),n.enter(l),n.consume(y),n.exit(l),g):y===null||y===41||zn(y)?t(y):(n.enter(e),n.enter(u),n.enter(a),n.enter("chunkString",{contentType:"string"}),B(y))}function g(y){return y===62?(n.enter(l),n.consume(y),n.exit(l),n.exit(i),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),f(y))}function f(y){return y===62?(n.exit("chunkString"),n.exit(a),g(y)):y===null||y===60||C(y)?t(y):(n.consume(y),y===92?k:f)}function k(y){return y===60||y===62||y===92?(n.consume(y),f):f(y)}function B(y){return y===40?++h>p?t(y):(n.consume(y),B):y===41?h--?(n.consume(y),B):(n.exit("chunkString"),n.exit(a),n.exit(u),n.exit(e),r(y)):y===null||Y(y)?h?t(y):(n.exit("chunkString"),n.exit(a),n.exit(u),n.exit(e),r(y)):zn(y)?t(y):(n.consume(y),y===92?D:B)}function D(y){return y===40||y===41||y===92?(n.consume(y),B):B(y)}}function ot(n,r,t,e,i,l){const u=this;let a=0,c;return p;function p(f){return n.enter(e),n.enter(i),n.consume(f),n.exit(i),n.enter(l),h}function h(f){return f===null||f===91||f===93&&!c||f===94&&!a&&"_hiddenFootnoteSupport"in u.parser.constructs||a>999?t(f):f===93?(n.exit(l),n.enter(i),n.consume(f),n.exit(i),n.exit(e),r):C(f)?(n.enter("lineEnding"),n.consume(f),n.exit("lineEnding"),h):(n.enter("chunkString",{contentType:"string"}),x(f))}function x(f){return f===null||f===91||f===93||C(f)||a++>999?(n.exit("chunkString"),h(f)):(n.consume(f),c=c||!q(f),f===92?g:x)}function g(f){return f===91||f===92||f===93?(n.consume(f),a++,x):x(f)}}function st(n,r,t,e,i,l){let u;return a;function a(g){return n.enter(e),n.enter(i),n.consume(g),n.exit(i),u=g===40?41:g,c}function c(g){return g===u?(n.enter(i),n.consume(g),n.exit(i),n.exit(e),r):(n.enter(l),p(g))}function p(g){return g===u?(n.exit(l),c(u)):g===null?t(g):C(g)?(n.enter("lineEnding"),n.consume(g),n.exit("lineEnding"),T(n,p,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===u||g===null||C(g)?(n.exit("chunkString"),p(g)):(n.consume(g),g===92?x:h)}function x(g){return g===u||g===92?(n.consume(g),h):h(g)}}function dn(n,r){let t;return e;function e(i){return C(i)?(n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),t=!0,e):q(i)?T(n,e,t?"linePrefix":"lineSuffix")(i):r(i)}}function fn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const xe={name:"definition",tokenize:ke},ge={tokenize:de,partial:!0};function ke(n,r,t){const e=this;let i;return l;function l(c){return n.enter("definition"),ot.call(e,n,u,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(c)}function u(c){return i=fn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),c===58?(n.enter("definitionMarker"),n.consume(c),n.exit("definitionMarker"),dn(n,at(n,n.attempt(ge,T(n,a,"whitespace"),T(n,a,"whitespace")),t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):t(c)}function a(c){return c===null||C(c)?(n.exit("definition"),e.parser.defined.includes(i)||e.parser.defined.push(i),r(c)):t(c)}}function de(n,r,t){return e;function e(u){return Y(u)?dn(n,i)(u):t(u)}function i(u){return u===34||u===39||u===40?st(n,T(n,l,"whitespace"),t,"definitionTitle","definitionTitleMarker","definitionTitleString")(u):t(u)}function l(u){return u===null||C(u)?r(u):t(u)}}const be={name:"hardBreakEscape",tokenize:ye};function ye(n,r,t){return e;function e(l){return n.enter("hardBreakEscape"),n.enter("escapeMarker"),n.consume(l),i}function i(l){return C(l)?(n.exit("escapeMarker"),n.exit("hardBreakEscape"),r(l)):t(l)}}const Se={name:"headingAtx",tokenize:Ee,resolve:Fe};function Fe(n,r){let t=n.length-2,e=3,i,l;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(i={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},l={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},en(n,e,t-e+1,[["enter",i,r],["enter",l,r],["exit",l,r],["exit",i,r]])),n}function Ee(n,r,t){const e=this;let i=0;return l;function l(h){return n.enter("atxHeading"),n.enter("atxHeadingSequence"),u(h)}function u(h){return h===35&&i++<6?(n.consume(h),u):h===null||Y(h)?(n.exit("atxHeadingSequence"),e.interrupt?r(h):a(h)):t(h)}function a(h){return h===35?(n.enter("atxHeadingSequence"),c(h)):h===null||C(h)?(n.exit("atxHeading"),r(h)):q(h)?T(n,a,"whitespace")(h):(n.enter("atxHeadingText"),p(h))}function c(h){return h===35?(n.consume(h),c):(n.exit("atxHeadingSequence"),a(h))}function p(h){return h===null||h===35||Y(h)?(n.exit("atxHeadingText"),a(h)):(n.consume(h),p)}}const we=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],Ce={name:"htmlFlow",tokenize:Ie,resolveTo:ze,concrete:!0},Ae={tokenize:Te,partial:!0};function ze(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Ie(n,r,t){const e=this;let i,l,u,a,c;return p;function p(o){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(o),h}function h(o){return o===33?(n.consume(o),x):o===47?(n.consume(o),k):o===63?(n.consume(o),i=3,e.interrupt?r:U):tn(o)?(n.consume(o),u=String.fromCharCode(o),l=!0,B):t(o)}function x(o){return o===45?(n.consume(o),i=2,g):o===91?(n.consume(o),i=5,u="CDATA[",a=0,f):tn(o)?(n.consume(o),i=4,e.interrupt?r:U):t(o)}function g(o){return o===45?(n.consume(o),e.interrupt?r:U):t(o)}function f(o){return o===u.charCodeAt(a++)?(n.consume(o),a===u.length?e.interrupt?r:S:f):t(o)}function k(o){return tn(o)?(n.consume(o),u=String.fromCharCode(o),B):t(o)}function B(o){return o===null||o===47||o===62||Y(o)?o!==47&&l&&Jn.includes(u.toLowerCase())?(i=1,e.interrupt?r(o):S(o)):we.includes(u.toLowerCase())?(i=6,o===47?(n.consume(o),D):e.interrupt?r(o):S(o)):(i=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(o):l?_(o):y(o)):o===45||v(o)?(n.consume(o),u+=String.fromCharCode(o),B):t(o)}function D(o){return o===62?(n.consume(o),e.interrupt?r:S):t(o)}function y(o){return q(o)?(n.consume(o),y):j(o)}function _(o){return o===47?(n.consume(o),j):o===58||o===95||tn(o)?(n.consume(o),F):q(o)?(n.consume(o),_):j(o)}function F(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),F):L(o)}function L(o){return o===61?(n.consume(o),O):q(o)?(n.consume(o),L):_(o)}function O(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),c=o,d):q(o)?(n.consume(o),O):(c=null,P(o))}function d(o){return o===null||C(o)?t(o):o===c?(n.consume(o),R):(n.consume(o),d)}function P(o){return o===null||o===34||o===39||o===60||o===61||o===62||o===96||Y(o)?L(o):(n.consume(o),P)}function R(o){return o===47||o===62||q(o)?_(o):t(o)}function j(o){return o===62?(n.consume(o),V):t(o)}function V(o){return q(o)?(n.consume(o),V):o===null||C(o)?S(o):t(o)}function S(o){return o===45&&i===2?(n.consume(o),G):o===60&&i===1?(n.consume(o),nn):o===62&&i===4?(n.consume(o),H):o===63&&i===3?(n.consume(o),U):o===93&&i===5?(n.consume(o),W):C(o)&&(i===6||i===7)?n.check(Ae,H,E)(o):o===null||C(o)?E(o):(n.consume(o),S)}function E(o){return n.exit("htmlFlowData"),A(o)}function A(o){return o===null?s(o):C(o)?n.attempt({tokenize:Q,partial:!0},A,s)(o):(n.enter("htmlFlowData"),S(o))}function Q(o,cn,xn){return hn;function hn(K){return o.enter("lineEnding"),o.consume(K),o.exit("lineEnding"),N}function N(K){return e.parser.lazy[e.now().line]?xn(K):cn(K)}}function G(o){return o===45?(n.consume(o),U):S(o)}function nn(o){return o===47?(n.consume(o),u="",J):S(o)}function J(o){return o===62&&Jn.includes(u.toLowerCase())?(n.consume(o),H):tn(o)&&u.length<8?(n.consume(o),u+=String.fromCharCode(o),J):S(o)}function W(o){return o===93?(n.consume(o),U):S(o)}function U(o){return o===62?(n.consume(o),H):o===45&&i===2?(n.consume(o),U):S(o)}function H(o){return o===null||C(o)?(n.exit("htmlFlowData"),s(o)):(n.consume(o),H)}function s(o){return n.exit("htmlFlow"),r(o)}}function Te(n,r,t){return e;function e(i){return n.exit("htmlFlowData"),n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),n.attempt(Sn,r,t)}}const Be={name:"htmlText",tokenize:Le};function Le(n,r,t){const e=this;let i,l,u,a;return c;function c(s){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(s),p}function p(s){return s===33?(n.consume(s),h):s===47?(n.consume(s),P):s===63?(n.consume(s),O):tn(s)?(n.consume(s),V):t(s)}function h(s){return s===45?(n.consume(s),x):s===91?(n.consume(s),l="CDATA[",u=0,D):tn(s)?(n.consume(s),L):t(s)}function x(s){return s===45?(n.consume(s),g):t(s)}function g(s){return s===null||s===62?t(s):s===45?(n.consume(s),f):k(s)}function f(s){return s===null||s===62?t(s):k(s)}function k(s){return s===null?t(s):s===45?(n.consume(s),B):C(s)?(a=k,W(s)):(n.consume(s),k)}function B(s){return s===45?(n.consume(s),H):k(s)}function D(s){return s===l.charCodeAt(u++)?(n.consume(s),u===l.length?y:D):t(s)}function y(s){return s===null?t(s):s===93?(n.consume(s),_):C(s)?(a=y,W(s)):(n.consume(s),y)}function _(s){return s===93?(n.consume(s),F):y(s)}function F(s){return s===62?H(s):s===93?(n.consume(s),F):y(s)}function L(s){return s===null||s===62?H(s):C(s)?(a=L,W(s)):(n.consume(s),L)}function O(s){return s===null?t(s):s===63?(n.consume(s),d):C(s)?(a=O,W(s)):(n.consume(s),O)}function d(s){return s===62?H(s):O(s)}function P(s){return tn(s)?(n.consume(s),R):t(s)}function R(s){return s===45||v(s)?(n.consume(s),R):j(s)}function j(s){return C(s)?(a=j,W(s)):q(s)?(n.consume(s),j):H(s)}function V(s){return s===45||v(s)?(n.consume(s),V):s===47||s===62||Y(s)?S(s):t(s)}function S(s){return s===47?(n.consume(s),H):s===58||s===95||tn(s)?(n.consume(s),E):C(s)?(a=S,W(s)):q(s)?(n.consume(s),S):H(s)}function E(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),E):A(s)}function A(s){return s===61?(n.consume(s),Q):C(s)?(a=A,W(s)):q(s)?(n.consume(s),A):S(s)}function Q(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),i=s,G):C(s)?(a=Q,W(s)):q(s)?(n.consume(s),Q):(n.consume(s),i=void 0,J)}function G(s){return s===i?(n.consume(s),nn):s===null?t(s):C(s)?(a=G,W(s)):(n.consume(s),G)}function nn(s){return s===62||s===47||Y(s)?S(s):t(s)}function J(s){return s===null||s===34||s===39||s===60||s===61||s===96?t(s):s===62||Y(s)?S(s):(n.consume(s),J)}function W(s){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),T(n,U,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function U(s){return n.enter("htmlTextData"),a(s)}function H(s){return s===62?(n.consume(s),n.exit("htmlTextData"),n.exit("htmlText"),r):t(s)}}const Dn={name:"labelEnd",tokenize:Re,resolveTo:Me,resolveAll:_e},Oe={tokenize:je},De={tokenize:qe},Pe={tokenize:He};function _e(n){let r=-1,t;for(;++r-1&&(u[0]=u[0].slice(e)),l>0&&u.push(n[i].slice(0,l))),u}function cr(n,r){let t=-1;const e=[];let i;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const wr=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Cr(n){return n.replace(wr,Ar)}function Ar(n,r,t){if(r)return r;if(t.charCodeAt(0)===35){const i=t.charCodeAt(1),l=i===120||i===88;return pt(t.slice(l?2:1),l?16:10)}return On(t)||n}function yn(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?vn(n.position):"start"in n||"end"in n?vn(n):"line"in n||"column"in n?Tn(n):""}function Tn(n){return nt(n&&n.line)+":"+nt(n&&n.column)}function vn(n){return Tn(n&&n.start)+"-"+Tn(n&&n.end)}function nt(n){return n&&typeof n=="number"?n:1}const mt={}.hasOwnProperty,ft=function(n,r,t){return typeof r!="string"&&(t=r,r=void 0),zr(t)(Er(Sr(t).document().write(Fr()(n,r,!0))))};function zr(n){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Hn),autolinkProtocol:S,autolinkEmail:S,atxHeading:a(Rn),blockQuote:a(Fn),characterEscape:S,characterReference:S,codeFenced:a(Mn),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:a(Mn,c),codeText:a(kt,c),codeTextData:S,data:S,codeFlowValue:S,definition:a(dt),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:a(bt),hardBreakEscape:a(jn),hardBreakTrailing:a(jn),htmlFlow:a(qn,c),htmlFlowData:S,htmlText:a(qn,c),htmlTextData:S,image:a(yt),label:c,link:a(Hn),listItem:a(St),listItemValue:k,listOrdered:a(Nn,f),listUnordered:a(Nn),paragraph:a(Ft),reference:hn,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:a(Rn),strong:a(Et),thematicBreak:a(Ct)},exit:{atxHeading:h(),atxHeadingSequence:P,autolink:h(),autolinkEmail:mn,autolinkProtocol:pn,blockQuote:h(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:K,characterReferenceMarkerNumeric:K,characterReferenceValue:ln,codeFenced:h(_),codeFencedFence:y,codeFencedFenceInfo:B,codeFencedFenceMeta:D,codeFlowValue:E,codeIndented:h(F),codeText:h(J),codeTextData:E,data:E,definition:h(),definitionDestinationString:d,definitionLabelString:L,definitionTitleString:O,emphasis:h(),hardBreakEscape:h(Q),hardBreakTrailing:h(Q),htmlFlow:h(G),htmlFlowData:E,htmlText:h(nn),htmlTextData:E,image:h(U),label:s,labelText:H,lineEnding:A,link:h(W),listItem:h(),listOrdered:h(),listUnordered:h(),paragraph:h(),referenceString:N,resourceDestinationString:o,resourceTitleString:cn,resource:xn,setextHeading:h(V),setextHeadingLineSequence:j,setextHeadingText:R,strong:h(),thematicBreak:h()}};xt(r,(n||{}).mdastExtensions||[]);const t={};return e;function e(m){let b={type:"root",children:[]};const w={stack:[b],tokenStack:[],config:r,enter:p,exit:x,buffer:c,resume:g,setData:l,getData:u},z=[];let I=-1;for(;++I0){const X=w.tokenStack[w.tokenStack.length-1];(X[1]||tt).call(w,void 0,X[0])}for(b.position={start:on(m.length>0?m[0][1].start:{line:1,column:1,offset:0}),end:on(m.length>0?m[m.length-2][1].end:{line:1,column:1,offset:0})},I=-1;++I{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{b as default}; diff --git a/_nuxt/default.jp05wh6t.js b/_nuxt/default.jp05wh6t.js new file mode 100644 index 0000000000..3b310bebac --- /dev/null +++ b/_nuxt/default.jp05wh6t.js @@ -0,0 +1 @@ +import e from"./DocsPageLayout.UPR5IpQ_.js";import{m as r}from"./mermaid-934d9bea.1859dh9d.js";import{d as a,o as m,Y as i,w as n,b as p,ae as s}from"./entry.DMNM28aL.js";import"./DocsAside.7iaOVwMX.js";import"./ProseCodeInline.6iI3GoXM.js";import"./DocsPageBottom.UiQFbxFH.js";import"./ProseA.OkKrpPKJ.js";import"./EditOnLink.vue.kjMGI45_.js";import"./DocsPrevNext.fgev8I6q.js";import"./DocsToc.wB-Mh8u5.js";import"./DocsTocLinks.jJ8TPMe2.js";import"./_commonjsHelpers.5-cIlDoe.js";const b=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{b as default}; diff --git a/_nuxt/document-driven.t9ahBX4B.js b/_nuxt/document-driven.JwSMCAJf.js similarity index 85% rename from _nuxt/document-driven.t9ahBX4B.js rename to _nuxt/document-driven.JwSMCAJf.js index 0910ca6e34..8dba761bbf 100644 --- a/_nuxt/document-driven.t9ahBX4B.js +++ b/_nuxt/document-driven.JwSMCAJf.js @@ -1 +1 @@ -import P from"./DocumentDrivenEmpty.HXWh7bUT.js";import k from"./ContentRenderer.VKSxfKNo.js";import b from"./DocumentDrivenNotFound.-yF2pn-z.js";import{j as L,d,I as g,P as R,s as x,J as C,K as B,L as u,M as m,r as S,u as j,N,O as T,Q as p,T as E,R as O,B as A,S as H,U as w,V as D,l as $,W as q,X as I,c as M,g as y,w as _,b as f,Y as v}from"./entry.q1HaRjkf.js";import"./ContentRendererMarkdown.vue.YjSLEWnk.js";import"./ButtonLink.w20vZM51.js";const V=d({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(t,n){const e=await m[t.name]().then(o=>o.default||o);return()=>p(e,t.layoutProps,n.slots)}}),F=d({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(t,n){const e=L(),o=g(R),s=o===x()?C():o,r=B(()=>{let a=u(t.name)??s.meta.layout??"default";return a&&!(a in m)&&t.fallback&&(a=u(t.fallback)),a}),l=S();n.expose({layoutRef:l});const i=e.deferHydration();if(e.isHydrating){const a=e.hooks.hookOnce("app:error",i);j().beforeEach(a)}return()=>{const a=r.value&&r.value in m,c=s.meta.layoutTransition??N;return T(E,a&&c,{default:()=>p(H,{suspensible:!0,onResolve:()=>{A(i)}},{default:()=>p(J,{layoutProps:O(n.attrs,{ref:l}),key:r.value||void 0,name:r.value,shouldProvide:!t.name,hasTransition:!!c},n.slots)})}).default()}}}),J=d({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(t,n){const e=t.name;return t.shouldProvide&&w(D,{isCurrent:o=>e===(o.meta.layout??"default")}),()=>{var o,s;return!e||typeof e=="string"&&!(e in m)?(s=(o=n.slots).default)==null?void 0:s.call(o):p(V,{key:e,layoutProps:t.layoutProps,name:e},n.slots)}}}),K={class:"document-driven-page"},G=d({__name:"document-driven",setup(t){const{contentHead:n}=$().public.content,{page:e,layout:o}=q();return e.value,n&&I(e),(s,r)=>{const l=P,i=k,a=b,c=F;return f(),M("div",K,[y(c,{name:u(o)||"default"},{default:_(()=>[u(e)?(f(),v(i,{key:u(e)._id,value:u(e)},{empty:_(({value:h})=>[y(l,{value:h},null,8,["value"])]),_:1},8,["value"])):(f(),v(a,{key:1}))]),_:1},8,["name"])])}}});export{G as default}; +import P from"./DocumentDrivenEmpty.kiIWIMj7.js";import k from"./ContentRenderer.tFbNhKMt.js";import b from"./DocumentDrivenNotFound.Nj5zZt7K.js";import{j as L,d,I as g,P as R,s as x,J as C,K as B,L as u,M as m,r as S,u as j,N,O as T,Q as p,T as E,R as O,B as A,S as H,U as w,V as D,l as $,W as q,X as I,c as M,g as y,w as _,b as f,Y as v}from"./entry.DMNM28aL.js";import"./ContentRendererMarkdown.vue.4k77k0Ub.js";import"./ButtonLink.JsHDRO_1.js";const V=d({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},async setup(t,n){const e=await m[t.name]().then(o=>o.default||o);return()=>p(e,t.layoutProps,n.slots)}}),F=d({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(t,n){const e=L(),o=g(R),s=o===x()?C():o,r=B(()=>{let a=u(t.name)??s.meta.layout??"default";return a&&!(a in m)&&t.fallback&&(a=u(t.fallback)),a}),l=S();n.expose({layoutRef:l});const i=e.deferHydration();if(e.isHydrating){const a=e.hooks.hookOnce("app:error",i);j().beforeEach(a)}return()=>{const a=r.value&&r.value in m,c=s.meta.layoutTransition??N;return T(E,a&&c,{default:()=>p(H,{suspensible:!0,onResolve:()=>{A(i)}},{default:()=>p(J,{layoutProps:O(n.attrs,{ref:l}),key:r.value||void 0,name:r.value,shouldProvide:!t.name,hasTransition:!!c},n.slots)})}).default()}}}),J=d({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(t,n){const e=t.name;return t.shouldProvide&&w(D,{isCurrent:o=>e===(o.meta.layout??"default")}),()=>{var o,s;return!e||typeof e=="string"&&!(e in m)?(s=(o=n.slots).default)==null?void 0:s.call(o):p(V,{key:e,layoutProps:t.layoutProps,name:e},n.slots)}}}),K={class:"document-driven-page"},G=d({__name:"document-driven",setup(t){const{contentHead:n}=$().public.content,{page:e,layout:o}=q();return e.value,n&&I(e),(s,r)=>{const l=P,i=k,a=b,c=F;return f(),M("div",K,[y(c,{name:u(o)||"default"},{default:_(()=>[u(e)?(f(),v(i,{key:u(e)._id,value:u(e)},{empty:_(({value:h})=>[y(l,{value:h},null,8,["value"])]),_:1},8,["value"])):(f(),v(a,{key:1}))]),_:1},8,["name"])])}}});export{G as default}; diff --git a/_nuxt/edges-80f1ebb6.sUApLEFd.js b/_nuxt/edges-80f1ebb6.d3gBK9Nl.js similarity index 99% rename from _nuxt/edges-80f1ebb6.sUApLEFd.js rename to _nuxt/edges-80f1ebb6.d3gBK9Nl.js index d5b096f3d9..eb9d331cb7 100644 --- a/_nuxt/edges-80f1ebb6.sUApLEFd.js +++ b/_nuxt/edges-80f1ebb6.d3gBK9Nl.js @@ -1,4 +1,4 @@ -import{r as $,c as w,d as J,ao as Q,h as M,l as x,z as j,ap as nt}from"./mermaid-934d9bea.A2NtSsGH.js";import{c as at}from"./createText-aebacdfe.T0gmTUMP.js";import{l as lt}from"./line.GPn4lxsZ.js";const ct=(a,t,r,n)=>{t.forEach(e=>{ut[e](a,r,n)})},ht=(a,t,r)=>{x.trace("Making markers for ",r),a.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),a.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ot=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).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")},ft=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).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")},pt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).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")},yt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),a.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).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"),a.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).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")},xt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+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"),a.append("marker").attr("id",r+"_"+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")},bt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+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"),a.append("marker").attr("id",r+"_"+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")},gt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+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")},ut={extension:ht,composition:ot,aggregation:ft,dependency:pt,lollipop:yt,point:dt,circle:xt,cross:bt,barb:gt},rr=ct;function wt(a,t){t&&a.attr("style",t)}function mt(a){const t=M(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=t.append("xhtml:div"),n=a.label,e=a.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),wt(r,a.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const kt=(a,t,r,n)=>{let e=a||"";if(typeof e=="object"&&(e=e[0]),$(w().flowchart.htmlLabels)){e=e.replace(/\\n|\n/g,"
"),x.info("vertexText"+e);const i={isNode:n,label:Q(e).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:t.replace("fill:","color:")};return mt(i)}else{const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof e=="string"?s=e.split(/\\n|\n|/gi):Array.isArray(e)?s=e:s=[];for(const l of s){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"),r?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=l.trim(),i.appendChild(c)}return i}},I=kt,_=async(a,t,r,n)=>{let e;const i=t.useHtmlLabels||$(w().flowchart.htmlLabels);r?e=r:e="node default";const s=a.insert("g").attr("class",e).attr("id",t.domId||t.id),l=s.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=l.node();let h;t.labelType==="markdown"?h=at(l,J(Q(c),w()),{useHtmlLabels:i,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(I(J(Q(c),w()),t.labelStyle,!1,n));let f=h.getBBox();const y=t.padding/2;if($(w().flowchart.htmlLabels)){const p=h.children[0],u=M(h),k=p.getElementsByTagName("img");if(k){const g=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(d=>new Promise(b=>{function B(){if(d.style.display="flex",d.style.flexDirection="column",g){const C=w().fontSize?w().fontSize:window.getComputedStyle(document.body).fontSize,X=5;d.style.width=parseInt(C,10)*X+"px"}else d.style.width="100%";b(d)}setTimeout(()=>{d.complete&&B()}),d.addEventListener("error",B),d.addEventListener("load",B)})))}f=p.getBoundingClientRect(),u.attr("width",f.width),u.attr("height",f.height)}return i?l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):l.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:s,bbox:f,halfPadding:y,label:l}},v=(a,t)=>{const r=t.node().getBBox();a.width=r.width,a.height=r.height};function N(a,t,r,n){return a.insert("polygon",":first-child").attr("points",n.map(function(e){return e.x+","+e.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}function vt(a,t){return a.intersect(t)}function et(a,t,r,n){var e=a.x,i=a.y,s=e-n.x,l=i-n.y,c=Math.sqrt(t*t*l*l+r*r*s*s),o=Math.abs(t*r*s/c);n.x0}function Et(a,t,r){var n=a.x,e=a.y,i=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(u){s=Math.min(s,u.x),l=Math.min(l,u.y)}):(s=Math.min(s,t.x),l=Math.min(l,t.y));for(var c=n-a.width/2-s,o=e-a.height/2-l,h=0;h1&&i.sort(function(u,k){var g=u.x-r.x,d=u.y-r.y,b=Math.sqrt(g*g+d*d),B=k.x-r.x,C=k.y-r.y,X=Math.sqrt(B*B+C*C);return b{var r=a.x,n=a.y,e=t.x-r,i=t.y-n,s=a.width/2,l=a.height/2,c,o;return Math.abs(i)*s>Math.abs(e)*l?(i<0&&(l=-l),c=i===0?0:l*e/i,o=l):(e<0&&(s=-s),c=s,o=e===0?0:s*i/e),{x:r+c,y:n+o}},Mt=Bt,m={node:vt,circle:Lt,ellipse:et,polygon:Et,rect:Mt},_t=async(a,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:n,bbox:e,halfPadding:i}=await _(a,t,"node "+t.classes,!0);x.info("Classes = ",t.classes);const s=n.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2-i).attr("y",-e.height/2-i).attr("width",e.width+t.padding).attr("height",e.height+t.padding),v(t,s),t.intersect=function(l){return m.rect(t,l)},n},Ct=_t,K=a=>a?" "+a:"",R=(a,t)=>`${t||"node default"}${K(a.classes)} ${K(a.class)}`,G=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=e+i,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];x.info("Question main (Circle)");const c=N(r,s,s,l);return c.attr("style",t.style),v(t,c),t.intersect=function(o){return x.warn("Intersect called"),m.polygon(t,l,o)},r},Tt=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=28,e=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",e.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return m.circle(t,14,s)},r},Rt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=4,i=n.height+t.padding,s=i/e,l=n.width+2*s+t.padding,c=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-i/2},{x:l-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],o=N(r,l,i,c);return o.attr("style",t.style),v(t,o),t.intersect=function(h){return m.polygon(t,c,h)},r},It=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-i/2,y:0},{x:e,y:0},{x:e,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return N(r,e,i,s).attr("style",t.style),t.width=e+i,t.height=i,t.intersect=function(c){return m.polygon(t,s,c)},r},$t=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-2*i/6,y:0},{x:e-i/6,y:0},{x:e+2*i/6,y:-i},{x:i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ht=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:2*i/6,y:0},{x:e+i/6,y:0},{x:e-2*i/6,y:-i},{x:-i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Nt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-2*i/6,y:0},{x:e+2*i/6,y:0},{x:e-i/6,y:-i},{x:i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ot=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:i/6,y:0},{x:e-i/6,y:0},{x:e+2*i/6,y:-i},{x:-2*i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Xt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:0,y:0},{x:e+i/2,y:0},{x:e,y:-i/2},{x:e+i/2,y:-i},{x:0,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Yt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=e/2,s=i/(2.5+e/50),l=n.height+s+t.padding,c="M 0,"+s+" a "+i+","+s+" 0,0,0 "+e+" 0 a "+i+","+s+" 0,0,0 "+-e+" 0 l 0,"+l+" a "+i+","+s+" 0,0,0 "+e+" 0 l 0,"+-l,o=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-e/2+","+-(l/2+s)+")");return v(t,o),t.intersect=function(h){const f=m.rect(t,h),y=f.x-t.x;if(i!=0&&(Math.abs(y)t.height/2-s)){let p=s*s*(1-y*y/(i*i));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},r},Wt=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,"node "+t.classes+" "+t.class,!0),i=r.insert("rect",":first-child"),s=n.width+t.padding,l=n.height+t.padding;if(i.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-e).attr("y",-n.height/2-e).attr("width",s).attr("height",l),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(st(i,t.props.borders,s,l),c.delete("borders")),c.forEach(o=>{x.warn(`Unknown node property ${o}`)})}return v(t,i),t.intersect=function(c){return m.rect(t,c)},r},Dt=async(a,t)=>{const{shapeSvg:r}=await _(a,t,"label",!0);x.trace("Classes = ",t.class);const n=r.insert("rect",":first-child"),e=0,i=0;if(n.attr("width",e).attr("height",i),r.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(st(n,t.props.borders,e,i),s.delete("borders")),s.forEach(l=>{x.warn(`Unknown node property ${l}`)})}return v(t,n),t.intersect=function(s){return m.rect(t,s)},r};function st(a,t,r,n){const e=[],i=l=>{e.push(l,0)},s=l=>{e.push(0,l)};t.includes("t")?(x.debug("add top border"),i(r)):s(r),t.includes("r")?(x.debug("add right border"),i(n)):s(n),t.includes("b")?(x.debug("add bottom border"),i(r)):s(r),t.includes("l")?(x.debug("add left border"),i(n)):s(n),a.attr("stroke-dasharray",e.join(" "))}const jt=(a,t)=>{let r;t.classes?r="node "+t.classes:r="node default";const n=a.insert("g").attr("class",r).attr("id",t.domId||t.id),e=n.insert("rect",":first-child"),i=n.insert("line"),s=n.insert("g").attr("class","label"),l=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof l=="object"?c=l[0]:c=l,x.info("Label text abc79",c,l,typeof l=="object");const o=s.node().appendChild(I(c,t.labelStyle,!0,!0));let h={width:0,height:0};if($(w().flowchart.htmlLabels)){const k=o.children[0],g=M(o);h=k.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}x.info("Text 2",l);const f=l.slice(1,l.length);let y=o.getBBox();const p=s.node().appendChild(I(f.join?f.join("
"):f,t.labelStyle,!0,!0));if($(w().flowchart.htmlLabels)){const k=p.children[0],g=M(p);h=k.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const u=t.padding/2;return M(p).attr("transform","translate( "+(h.width>y.width?0:(y.width-h.width)/2)+", "+(y.height+u+5)+")"),M(o).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.height+t.padding,i=n.width+e/4+t.padding,s=r.insert("rect",":first-child").attr("style",t.style).attr("rx",e/2).attr("ry",e/2).attr("x",-i/2).attr("y",-e/2).attr("width",i).attr("height",e);return v(t,s),t.intersect=function(l){return m.rect(t,l)},r},Ut=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,R(t,void 0),!0),i=r.insert("circle",":first-child");return i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("Circle main"),v(t,i),t.intersect=function(s){return x.info("Circle intersect",t,n.width/2+e,s),m.circle(t,n.width/2+e,s)},r},zt=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,R(t,void 0),!0),i=5,s=r.insert("g",":first-child"),l=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e+i).attr("width",n.width+t.padding+i*2).attr("height",n.height+t.padding+i*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("DoubleCircle main"),v(t,l),t.intersect=function(o){return x.info("DoubleCircle intersect",t,n.width/2+e+i,o),m.circle(t,n.width/2+e+i,o)},r},Zt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:0,y:0},{x:e,y:0},{x:e,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:e+8,y:0},{x:e+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ft=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),v(t,n),t.intersect=function(e){return m.circle(t,7,e)},r},P=(a,t,r)=>{const n=a.insert("g").attr("class","node default").attr("id",t.domId||t.id);let e=70,i=10;r==="LR"&&(e=10,i=70);const s=n.append("rect").attr("x",-1*e/2).attr("y",-1*i/2).attr("width",e).attr("height",i).attr("class","fork-join");return v(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(l){return m.rect(t,l)},n},Qt=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child"),e=r.insert("circle",":first-child");return e.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),v(t,e),t.intersect=function(i){return m.circle(t,7,i)},r},Vt=(a,t)=>{const r=t.padding/2,n=4,e=8;let i;t.classes?i="node "+t.classes:i="node default";const s=a.insert("g").attr("class",i).attr("id",t.domId||t.id),l=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,f=n;const y=s.insert("g").attr("class","label");let p=0;const u=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=y.node().appendChild(I(k,t.labelStyle,!0,!0));let d=g.getBBox();if($(w().flowchart.htmlLabels)){const L=g.children[0],S=M(g);d=L.getBoundingClientRect(),S.attr("width",d.width),S.attr("height",d.height)}t.classData.annotations[0]&&(f+=d.height+n,h+=d.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?b+="<"+t.classData.type+">":b+="<"+t.classData.type+">");const B=y.node().appendChild(I(b,t.labelStyle,!0,!0));M(B).attr("class","classTitle");let C=B.getBBox();if($(w().flowchart.htmlLabels)){const L=B.children[0],S=M(B);C=L.getBoundingClientRect(),S.attr("width",C.width),S.attr("height",C.height)}f+=C.height+n,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(L=>{const S=L.getDisplayDetails();let Y=S.displayText;w().flowchart.htmlLabels&&(Y=Y.replace(//g,">"));const H=y.node().appendChild(I(Y,S.cssStyle?S.cssStyle:t.labelStyle,!0,!0));let T=H.getBBox();if($(w().flowchart.htmlLabels)){const F=H.children[0],D=M(H);T=F.getBoundingClientRect(),D.attr("width",T.width),D.attr("height",T.height)}T.width>h&&(h=T.width),f+=T.height+n,X.push(H)}),f+=e;const V=[];if(t.classData.methods.forEach(L=>{const S=L.getDisplayDetails();let Y=S.displayText;w().flowchart.htmlLabels&&(Y=Y.replace(//g,">"));const H=y.node().appendChild(I(Y,S.cssStyle?S.cssStyle:t.labelStyle,!0,!0));let T=H.getBBox();if($(w().flowchart.htmlLabels)){const F=H.children[0],D=M(H);T=F.getBoundingClientRect(),D.attr("width",T.width),D.attr("height",T.height)}T.width>h&&(h=T.width),f+=T.height+n,V.push(H)}),f+=e,u){let L=(h-d.width)/2;M(g).attr("transform","translate( "+(-1*h/2+L)+", "+-1*f/2+")"),p=d.height+n}let it=(h-C.width)/2;return M(B).attr("transform","translate( "+(-1*h/2+it)+", "+(-1*f/2+p)+")"),p+=C.height+n,c.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-f/2-r+e+p).attr("y2",-f/2-r+e+p),p+=e,X.forEach(L=>{M(L).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+e/2)+")");const S=L==null?void 0:L.getBBox();p+=((S==null?void 0:S.height)??0)+n}),p+=e,o.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-f/2-r+e+p).attr("y2",-f/2-r+e+p),p+=e,V.forEach(L=>{M(L).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")");const S=L==null?void 0:L.getBBox();p+=((S==null?void 0:S.height)??0)+n}),l.attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(f/2)-r).attr("width",h+t.padding).attr("height",f+t.padding),v(t,l),t.intersect=function(L){return m.rect(t,L)},s},tt={rhombus:G,question:G,rect:Wt,labelRect:Dt,rectWithTitle:jt,choice:Tt,circle:Ut,doublecircle:zt,stadium:At,hexagon:Rt,rect_left_inv_arrow:It,lean_right:$t,lean_left:Ht,trapezoid:Nt,inv_trapezoid:Ot,rect_right_inv_arrow:Xt,cylinder:Yt,start:Ft,end:Qt,note:Ct,subroutine:Zt,fork:P,join:P,class_box:Vt};let W={};const ar=async(a,t,r)=>{let n,e;if(t.link){let i;w().securityLevel==="sandbox"?i="_top":t.linkTarget&&(i=t.linkTarget||"_blank"),n=a.insert("svg:a").attr("xlink:href",t.link).attr("target",i),e=await tt[t.shape](n,t,r)}else e=await tt[t.shape](a,t,r),n=e;return t.tooltip&&e.attr("title",t.tooltip),t.class&&e.attr("class","node default "+t.class),W[t.id]=n,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),n},er=(a,t)=>{W[t.id]=a},sr=()=>{W={}},ir=a=>{const t=W[a.id];x.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");const r=8,n=a.diff||0;return a.clusterNode?t.attr("transform","translate("+(a.x+n-a.width/2)+", "+(a.y-a.height/2-r)+")"):t.attr("transform","translate("+a.x+", "+a.y+")"),n},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function A(a,t){a=z(a),t=z(t);const[r,n]=[a.x,a.y],[e,i]=[t.x,t.y],s=e-r,l=i-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}const z=a=>Array.isArray(a)?{x:a[0],y:a[1]}:a,Jt=a=>({x:function(t,r,n){let e=0;if(r===0&&Object.hasOwn(O,a.arrowTypeStart)){const{angle:i,deltaX:s}=A(n[0],n[1]);e=O[a.arrowTypeStart]*Math.cos(i)*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(O,a.arrowTypeEnd)){const{angle:i,deltaX:s}=A(n[n.length-1],n[n.length-2]);e=O[a.arrowTypeEnd]*Math.cos(i)*(s>=0?1:-1)}return z(t).x+e},y:function(t,r,n){let e=0;if(r===0&&Object.hasOwn(O,a.arrowTypeStart)){const{angle:i,deltaY:s}=A(n[0],n[1]);e=O[a.arrowTypeStart]*Math.abs(Math.sin(i))*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(O,a.arrowTypeEnd)){const{angle:i,deltaY:s}=A(n[n.length-1],n[n.length-2]);e=O[a.arrowTypeEnd]*Math.abs(Math.sin(i))*(s>=0?1:-1)}return z(t).y+e}});let Z={},E={};const nr=()=>{Z={},E={}},lr=(a,t)=>{const r=$(w().flowchart.htmlLabels),n=t.labelType==="markdown"?at(a,t.label,{style:t.labelStyle,useHtmlLabels:r,addSvgBackground:!0}):I(t.label,t.labelStyle);x.info("abc82",t,t.labelType);const e=a.insert("g").attr("class","edgeLabel"),i=e.insert("g").attr("class","label");i.node().appendChild(n);let s=n.getBBox();if(r){const c=n.children[0],o=M(n);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),Z[t.id]=e,t.width=s.width,t.height=s.height;let l;if(t.startLabelLeft){const c=I(t.startLabelLeft,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),E[t.id]||(E[t.id]={}),E[t.id].startLeft=o,U(l,t.startLabelLeft)}if(t.startLabelRight){const c=I(t.startLabelRight,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),E[t.id]||(E[t.id]={}),E[t.id].startRight=o,U(l,t.startLabelRight)}if(t.endLabelLeft){const c=I(t.endLabelLeft,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),E[t.id]||(E[t.id]={}),E[t.id].endLeft=o,U(l,t.endLabelLeft)}if(t.endLabelRight){const c=I(t.endLabelRight,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),E[t.id]||(E[t.id]={}),E[t.id].endRight=o,U(l,t.endLabelRight)}return n};function U(a,t){w().flowchart.htmlLabels&&a&&(a.style.width=t.length*9+"px",a.style.height="12px")}const cr=(a,t)=>{x.info("Moving label abc78 ",a.id,a.label,Z[a.id]);let r=t.updatedPath?t.updatedPath:t.originalPath;if(a.label){const n=Z[a.id];let e=a.x,i=a.y;if(r){const s=j.calcLabelPosition(r);x.info("Moving label "+a.label+" from (",e,",",i,") to (",s.x,",",s.y,") abc78"),t.updatedPath&&(e=s.x,i=s.y)}n.attr("transform","translate("+e+", "+i+")")}if(a.startLabelLeft){const n=E[a.id].startLeft;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_left",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.startLabelRight){const n=E[a.id].startRight;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_right",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.endLabelLeft){const n=E[a.id].endLeft;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_left",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.endLabelRight){const n=E[a.id].endRight;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_right",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}},qt=(a,t)=>{const r=a.x,n=a.y,e=Math.abs(t.x-r),i=Math.abs(t.y-n),s=a.width/2,l=a.height/2;return e>=s||i>=l},Kt=(a,t,r)=>{x.warn(`intersection calc abc89: +import{r as $,c as w,d as J,ao as Q,h as M,l as x,z as j,ap as nt}from"./mermaid-934d9bea.1859dh9d.js";import{c as at}from"./createText-aebacdfe.wmc7v5UB.js";import{l as lt}from"./line.ik9Fl7Dj.js";const ct=(a,t,r,n)=>{t.forEach(e=>{ut[e](a,r,n)})},ht=(a,t,r)=>{x.trace("Making markers for ",r),a.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),a.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ot=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).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")},ft=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).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")},pt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).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"),a.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).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")},yt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),a.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).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"),a.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).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")},xt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+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"),a.append("marker").attr("id",r+"_"+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")},bt=(a,t,r)=>{a.append("marker").attr("id",r+"_"+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"),a.append("marker").attr("id",r+"_"+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")},gt=(a,t,r)=>{a.append("defs").append("marker").attr("id",r+"_"+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")},ut={extension:ht,composition:ot,aggregation:ft,dependency:pt,lollipop:yt,point:dt,circle:xt,cross:bt,barb:gt},rr=ct;function wt(a,t){t&&a.attr("style",t)}function mt(a){const t=M(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=t.append("xhtml:div"),n=a.label,e=a.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),wt(r,a.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const kt=(a,t,r,n)=>{let e=a||"";if(typeof e=="object"&&(e=e[0]),$(w().flowchart.htmlLabels)){e=e.replace(/\\n|\n/g,"
"),x.info("vertexText"+e);const i={isNode:n,label:Q(e).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:t.replace("fill:","color:")};return mt(i)}else{const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof e=="string"?s=e.split(/\\n|\n|/gi):Array.isArray(e)?s=e:s=[];for(const l of s){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"),r?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=l.trim(),i.appendChild(c)}return i}},I=kt,_=async(a,t,r,n)=>{let e;const i=t.useHtmlLabels||$(w().flowchart.htmlLabels);r?e=r:e="node default";const s=a.insert("g").attr("class",e).attr("id",t.domId||t.id),l=s.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=l.node();let h;t.labelType==="markdown"?h=at(l,J(Q(c),w()),{useHtmlLabels:i,width:t.width||w().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(I(J(Q(c),w()),t.labelStyle,!1,n));let f=h.getBBox();const y=t.padding/2;if($(w().flowchart.htmlLabels)){const p=h.children[0],u=M(h),k=p.getElementsByTagName("img");if(k){const g=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(d=>new Promise(b=>{function B(){if(d.style.display="flex",d.style.flexDirection="column",g){const C=w().fontSize?w().fontSize:window.getComputedStyle(document.body).fontSize,X=5;d.style.width=parseInt(C,10)*X+"px"}else d.style.width="100%";b(d)}setTimeout(()=>{d.complete&&B()}),d.addEventListener("error",B),d.addEventListener("load",B)})))}f=p.getBoundingClientRect(),u.attr("width",f.width),u.attr("height",f.height)}return i?l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):l.attr("transform","translate(0, "+-f.height/2+")"),t.centerLabel&&l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:s,bbox:f,halfPadding:y,label:l}},v=(a,t)=>{const r=t.node().getBBox();a.width=r.width,a.height=r.height};function N(a,t,r,n){return a.insert("polygon",":first-child").attr("points",n.map(function(e){return e.x+","+e.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+r/2+")")}function vt(a,t){return a.intersect(t)}function et(a,t,r,n){var e=a.x,i=a.y,s=e-n.x,l=i-n.y,c=Math.sqrt(t*t*l*l+r*r*s*s),o=Math.abs(t*r*s/c);n.x0}function Et(a,t,r){var n=a.x,e=a.y,i=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(u){s=Math.min(s,u.x),l=Math.min(l,u.y)}):(s=Math.min(s,t.x),l=Math.min(l,t.y));for(var c=n-a.width/2-s,o=e-a.height/2-l,h=0;h1&&i.sort(function(u,k){var g=u.x-r.x,d=u.y-r.y,b=Math.sqrt(g*g+d*d),B=k.x-r.x,C=k.y-r.y,X=Math.sqrt(B*B+C*C);return b{var r=a.x,n=a.y,e=t.x-r,i=t.y-n,s=a.width/2,l=a.height/2,c,o;return Math.abs(i)*s>Math.abs(e)*l?(i<0&&(l=-l),c=i===0?0:l*e/i,o=l):(e<0&&(s=-s),c=s,o=e===0?0:s*i/e),{x:r+c,y:n+o}},Mt=Bt,m={node:vt,circle:Lt,ellipse:et,polygon:Et,rect:Mt},_t=async(a,t)=>{t.useHtmlLabels||w().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:n,bbox:e,halfPadding:i}=await _(a,t,"node "+t.classes,!0);x.info("Classes = ",t.classes);const s=n.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2-i).attr("y",-e.height/2-i).attr("width",e.width+t.padding).attr("height",e.height+t.padding),v(t,s),t.intersect=function(l){return m.rect(t,l)},n},Ct=_t,K=a=>a?" "+a:"",R=(a,t)=>`${t||"node default"}${K(a.classes)} ${K(a.class)}`,G=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=e+i,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];x.info("Question main (Circle)");const c=N(r,s,s,l);return c.attr("style",t.style),v(t,c),t.intersect=function(o){return x.warn("Intersect called"),m.polygon(t,l,o)},r},Tt=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=28,e=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",e.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return m.circle(t,14,s)},r},Rt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=4,i=n.height+t.padding,s=i/e,l=n.width+2*s+t.padding,c=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-i/2},{x:l-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],o=N(r,l,i,c);return o.attr("style",t.style),v(t,o),t.intersect=function(h){return m.polygon(t,c,h)},r},It=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-i/2,y:0},{x:e,y:0},{x:e,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return N(r,e,i,s).attr("style",t.style),t.width=e+i,t.height=i,t.intersect=function(c){return m.polygon(t,s,c)},r},$t=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-2*i/6,y:0},{x:e-i/6,y:0},{x:e+2*i/6,y:-i},{x:i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ht=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:2*i/6,y:0},{x:e+i/6,y:0},{x:e-2*i/6,y:-i},{x:-i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Nt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:-2*i/6,y:0},{x:e+2*i/6,y:0},{x:e-i/6,y:-i},{x:i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ot=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:i/6,y:0},{x:e-i/6,y:0},{x:e+2*i/6,y:-i},{x:-2*i/6,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Xt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:0,y:0},{x:e+i/2,y:0},{x:e,y:-i/2},{x:e+i/2,y:-i},{x:0,y:-i}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Yt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=e/2,s=i/(2.5+e/50),l=n.height+s+t.padding,c="M 0,"+s+" a "+i+","+s+" 0,0,0 "+e+" 0 a "+i+","+s+" 0,0,0 "+-e+" 0 l 0,"+l+" a "+i+","+s+" 0,0,0 "+e+" 0 l 0,"+-l,o=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-e/2+","+-(l/2+s)+")");return v(t,o),t.intersect=function(h){const f=m.rect(t,h),y=f.x-t.x;if(i!=0&&(Math.abs(y)t.height/2-s)){let p=s*s*(1-y*y/(i*i));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),f.y+=p}return f},r},Wt=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,"node "+t.classes+" "+t.class,!0),i=r.insert("rect",":first-child"),s=n.width+t.padding,l=n.height+t.padding;if(i.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-e).attr("y",-n.height/2-e).attr("width",s).attr("height",l),t.props){const c=new Set(Object.keys(t.props));t.props.borders&&(st(i,t.props.borders,s,l),c.delete("borders")),c.forEach(o=>{x.warn(`Unknown node property ${o}`)})}return v(t,i),t.intersect=function(c){return m.rect(t,c)},r},Dt=async(a,t)=>{const{shapeSvg:r}=await _(a,t,"label",!0);x.trace("Classes = ",t.class);const n=r.insert("rect",":first-child"),e=0,i=0;if(n.attr("width",e).attr("height",i),r.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(st(n,t.props.borders,e,i),s.delete("borders")),s.forEach(l=>{x.warn(`Unknown node property ${l}`)})}return v(t,n),t.intersect=function(s){return m.rect(t,s)},r};function st(a,t,r,n){const e=[],i=l=>{e.push(l,0)},s=l=>{e.push(0,l)};t.includes("t")?(x.debug("add top border"),i(r)):s(r),t.includes("r")?(x.debug("add right border"),i(n)):s(n),t.includes("b")?(x.debug("add bottom border"),i(r)):s(r),t.includes("l")?(x.debug("add left border"),i(n)):s(n),a.attr("stroke-dasharray",e.join(" "))}const jt=(a,t)=>{let r;t.classes?r="node "+t.classes:r="node default";const n=a.insert("g").attr("class",r).attr("id",t.domId||t.id),e=n.insert("rect",":first-child"),i=n.insert("line"),s=n.insert("g").attr("class","label"),l=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof l=="object"?c=l[0]:c=l,x.info("Label text abc79",c,l,typeof l=="object");const o=s.node().appendChild(I(c,t.labelStyle,!0,!0));let h={width:0,height:0};if($(w().flowchart.htmlLabels)){const k=o.children[0],g=M(o);h=k.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}x.info("Text 2",l);const f=l.slice(1,l.length);let y=o.getBBox();const p=s.node().appendChild(I(f.join?f.join("
"):f,t.labelStyle,!0,!0));if($(w().flowchart.htmlLabels)){const k=p.children[0],g=M(p);h=k.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}const u=t.padding/2;return M(p).attr("transform","translate( "+(h.width>y.width?0:(y.width-h.width)/2)+", "+(y.height+u+5)+")"),M(o).attr("transform","translate( "+(h.width{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.height+t.padding,i=n.width+e/4+t.padding,s=r.insert("rect",":first-child").attr("style",t.style).attr("rx",e/2).attr("ry",e/2).attr("x",-i/2).attr("y",-e/2).attr("width",i).attr("height",e);return v(t,s),t.intersect=function(l){return m.rect(t,l)},r},Ut=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,R(t,void 0),!0),i=r.insert("circle",":first-child");return i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("Circle main"),v(t,i),t.intersect=function(s){return x.info("Circle intersect",t,n.width/2+e,s),m.circle(t,n.width/2+e,s)},r},zt=async(a,t)=>{const{shapeSvg:r,bbox:n,halfPadding:e}=await _(a,t,R(t,void 0),!0),i=5,s=r.insert("g",":first-child"),l=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e+i).attr("width",n.width+t.padding+i*2).attr("height",n.height+t.padding+i*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",n.width/2+e).attr("width",n.width+t.padding).attr("height",n.height+t.padding),x.info("DoubleCircle main"),v(t,l),t.intersect=function(o){return x.info("DoubleCircle intersect",t,n.width/2+e+i,o),m.circle(t,n.width/2+e+i,o)},r},Zt=async(a,t)=>{const{shapeSvg:r,bbox:n}=await _(a,t,R(t,void 0),!0),e=n.width+t.padding,i=n.height+t.padding,s=[{x:0,y:0},{x:e,y:0},{x:e,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:e+8,y:0},{x:e+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],l=N(r,e,i,s);return l.attr("style",t.style),v(t,l),t.intersect=function(c){return m.polygon(t,s,c)},r},Ft=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),v(t,n),t.intersect=function(e){return m.circle(t,7,e)},r},P=(a,t,r)=>{const n=a.insert("g").attr("class","node default").attr("id",t.domId||t.id);let e=70,i=10;r==="LR"&&(e=10,i=70);const s=n.append("rect").attr("x",-1*e/2).attr("y",-1*i/2).attr("width",e).attr("height",i).attr("class","fork-join");return v(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(l){return m.rect(t,l)},n},Qt=(a,t)=>{const r=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=r.insert("circle",":first-child"),e=r.insert("circle",":first-child");return e.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),v(t,e),t.intersect=function(i){return m.circle(t,7,i)},r},Vt=(a,t)=>{const r=t.padding/2,n=4,e=8;let i;t.classes?i="node "+t.classes:i="node default";const s=a.insert("g").attr("class",i).attr("id",t.domId||t.id),l=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,f=n;const y=s.insert("g").attr("class","label");let p=0;const u=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",g=y.node().appendChild(I(k,t.labelStyle,!0,!0));let d=g.getBBox();if($(w().flowchart.htmlLabels)){const L=g.children[0],S=M(g);d=L.getBoundingClientRect(),S.attr("width",d.width),S.attr("height",d.height)}t.classData.annotations[0]&&(f+=d.height+n,h+=d.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(w().flowchart.htmlLabels?b+="<"+t.classData.type+">":b+="<"+t.classData.type+">");const B=y.node().appendChild(I(b,t.labelStyle,!0,!0));M(B).attr("class","classTitle");let C=B.getBBox();if($(w().flowchart.htmlLabels)){const L=B.children[0],S=M(B);C=L.getBoundingClientRect(),S.attr("width",C.width),S.attr("height",C.height)}f+=C.height+n,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(L=>{const S=L.getDisplayDetails();let Y=S.displayText;w().flowchart.htmlLabels&&(Y=Y.replace(//g,">"));const H=y.node().appendChild(I(Y,S.cssStyle?S.cssStyle:t.labelStyle,!0,!0));let T=H.getBBox();if($(w().flowchart.htmlLabels)){const F=H.children[0],D=M(H);T=F.getBoundingClientRect(),D.attr("width",T.width),D.attr("height",T.height)}T.width>h&&(h=T.width),f+=T.height+n,X.push(H)}),f+=e;const V=[];if(t.classData.methods.forEach(L=>{const S=L.getDisplayDetails();let Y=S.displayText;w().flowchart.htmlLabels&&(Y=Y.replace(//g,">"));const H=y.node().appendChild(I(Y,S.cssStyle?S.cssStyle:t.labelStyle,!0,!0));let T=H.getBBox();if($(w().flowchart.htmlLabels)){const F=H.children[0],D=M(H);T=F.getBoundingClientRect(),D.attr("width",T.width),D.attr("height",T.height)}T.width>h&&(h=T.width),f+=T.height+n,V.push(H)}),f+=e,u){let L=(h-d.width)/2;M(g).attr("transform","translate( "+(-1*h/2+L)+", "+-1*f/2+")"),p=d.height+n}let it=(h-C.width)/2;return M(B).attr("transform","translate( "+(-1*h/2+it)+", "+(-1*f/2+p)+")"),p+=C.height+n,c.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-f/2-r+e+p).attr("y2",-f/2-r+e+p),p+=e,X.forEach(L=>{M(L).attr("transform","translate( "+-h/2+", "+(-1*f/2+p+e/2)+")");const S=L==null?void 0:L.getBBox();p+=((S==null?void 0:S.height)??0)+n}),p+=e,o.attr("class","divider").attr("x1",-h/2-r).attr("x2",h/2+r).attr("y1",-f/2-r+e+p).attr("y2",-f/2-r+e+p),p+=e,V.forEach(L=>{M(L).attr("transform","translate( "+-h/2+", "+(-1*f/2+p)+")");const S=L==null?void 0:L.getBBox();p+=((S==null?void 0:S.height)??0)+n}),l.attr("class","outer title-state").attr("x",-h/2-r).attr("y",-(f/2)-r).attr("width",h+t.padding).attr("height",f+t.padding),v(t,l),t.intersect=function(L){return m.rect(t,L)},s},tt={rhombus:G,question:G,rect:Wt,labelRect:Dt,rectWithTitle:jt,choice:Tt,circle:Ut,doublecircle:zt,stadium:At,hexagon:Rt,rect_left_inv_arrow:It,lean_right:$t,lean_left:Ht,trapezoid:Nt,inv_trapezoid:Ot,rect_right_inv_arrow:Xt,cylinder:Yt,start:Ft,end:Qt,note:Ct,subroutine:Zt,fork:P,join:P,class_box:Vt};let W={};const ar=async(a,t,r)=>{let n,e;if(t.link){let i;w().securityLevel==="sandbox"?i="_top":t.linkTarget&&(i=t.linkTarget||"_blank"),n=a.insert("svg:a").attr("xlink:href",t.link).attr("target",i),e=await tt[t.shape](n,t,r)}else e=await tt[t.shape](a,t,r),n=e;return t.tooltip&&e.attr("title",t.tooltip),t.class&&e.attr("class","node default "+t.class),W[t.id]=n,t.haveCallback&&W[t.id].attr("class",W[t.id].attr("class")+" clickable"),n},er=(a,t)=>{W[t.id]=a},sr=()=>{W={}},ir=a=>{const t=W[a.id];x.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");const r=8,n=a.diff||0;return a.clusterNode?t.attr("transform","translate("+(a.x+n-a.width/2)+", "+(a.y-a.height/2-r)+")"):t.attr("transform","translate("+a.x+", "+a.y+")"),n},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function A(a,t){a=z(a),t=z(t);const[r,n]=[a.x,a.y],[e,i]=[t.x,t.y],s=e-r,l=i-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}const z=a=>Array.isArray(a)?{x:a[0],y:a[1]}:a,Jt=a=>({x:function(t,r,n){let e=0;if(r===0&&Object.hasOwn(O,a.arrowTypeStart)){const{angle:i,deltaX:s}=A(n[0],n[1]);e=O[a.arrowTypeStart]*Math.cos(i)*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(O,a.arrowTypeEnd)){const{angle:i,deltaX:s}=A(n[n.length-1],n[n.length-2]);e=O[a.arrowTypeEnd]*Math.cos(i)*(s>=0?1:-1)}return z(t).x+e},y:function(t,r,n){let e=0;if(r===0&&Object.hasOwn(O,a.arrowTypeStart)){const{angle:i,deltaY:s}=A(n[0],n[1]);e=O[a.arrowTypeStart]*Math.abs(Math.sin(i))*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(O,a.arrowTypeEnd)){const{angle:i,deltaY:s}=A(n[n.length-1],n[n.length-2]);e=O[a.arrowTypeEnd]*Math.abs(Math.sin(i))*(s>=0?1:-1)}return z(t).y+e}});let Z={},E={};const nr=()=>{Z={},E={}},lr=(a,t)=>{const r=$(w().flowchart.htmlLabels),n=t.labelType==="markdown"?at(a,t.label,{style:t.labelStyle,useHtmlLabels:r,addSvgBackground:!0}):I(t.label,t.labelStyle);x.info("abc82",t,t.labelType);const e=a.insert("g").attr("class","edgeLabel"),i=e.insert("g").attr("class","label");i.node().appendChild(n);let s=n.getBBox();if(r){const c=n.children[0],o=M(n);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),Z[t.id]=e,t.width=s.width,t.height=s.height;let l;if(t.startLabelLeft){const c=I(t.startLabelLeft,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),E[t.id]||(E[t.id]={}),E[t.id].startLeft=o,U(l,t.startLabelLeft)}if(t.startLabelRight){const c=I(t.startLabelRight,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=o.node().appendChild(c),h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),E[t.id]||(E[t.id]={}),E[t.id].startRight=o,U(l,t.startLabelRight)}if(t.endLabelLeft){const c=I(t.endLabelLeft,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),E[t.id]||(E[t.id]={}),E[t.id].endLeft=o,U(l,t.endLabelLeft)}if(t.endLabelRight){const c=I(t.endLabelRight,t.labelStyle),o=a.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");l=h.node().appendChild(c);const f=c.getBBox();h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),o.node().appendChild(c),E[t.id]||(E[t.id]={}),E[t.id].endRight=o,U(l,t.endLabelRight)}return n};function U(a,t){w().flowchart.htmlLabels&&a&&(a.style.width=t.length*9+"px",a.style.height="12px")}const cr=(a,t)=>{x.info("Moving label abc78 ",a.id,a.label,Z[a.id]);let r=t.updatedPath?t.updatedPath:t.originalPath;if(a.label){const n=Z[a.id];let e=a.x,i=a.y;if(r){const s=j.calcLabelPosition(r);x.info("Moving label "+a.label+" from (",e,",",i,") to (",s.x,",",s.y,") abc78"),t.updatedPath&&(e=s.x,i=s.y)}n.attr("transform","translate("+e+", "+i+")")}if(a.startLabelLeft){const n=E[a.id].startLeft;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_left",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.startLabelRight){const n=E[a.id].startRight;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_right",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.endLabelLeft){const n=E[a.id].endLeft;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_left",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}if(a.endLabelRight){const n=E[a.id].endRight;let e=a.x,i=a.y;if(r){const s=j.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_right",r);e=s.x,i=s.y}n.attr("transform","translate("+e+", "+i+")")}},qt=(a,t)=>{const r=a.x,n=a.y,e=Math.abs(t.x-r),i=Math.abs(t.y-n),s=a.width/2,l=a.height/2;return e>=s||i>=l},Kt=(a,t,r)=>{x.warn(`intersection calc abc89: outsidePoint: ${JSON.stringify(t)} insidePoint : ${JSON.stringify(r)} node : x:${a.x} y:${a.y} w:${a.width} h:${a.height}`);const n=a.x,e=a.y,i=Math.abs(n-r.x),s=a.width/2;let l=r.xMath.abs(n-t.x)*c){let f=r.y{x.warn("abc88 cutPathAtIntersect",a,t);let r=[],n=a[0],e=!1;return a.forEach(i=>{if(x.info("abc88 checking point",i,t),!qt(t,i)&&!e){const s=Kt(t,n,i);x.warn("abc88 inside",i,n,s),x.warn("abc88 intersection",s);let l=!1;r.forEach(c=>{l=l||c.x===s.x&&c.y===s.y}),r.some(c=>c.x===s.x&&c.y===s.y)?x.warn("abc88 no intersect",s,r):r.push(s),e=!0}else x.warn("abc88 outside",i,n),n=i,e||r.push(i)}),x.warn("abc88 returning points",r),r},hr=function(a,t,r,n,e,i,s){let l=r.points,c=!1;const o=i.node(t.v);var h=i.node(t.w);x.info("abc88 InsertEdge: ",r),h.intersect&&o.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(o.intersect(l[0])),x.info("Last point",l[l.length-1],h,h.intersect(l[l.length-1])),l.push(h.intersect(l[l.length-1]))),r.toCluster&&(x.info("to cluster abc88",n[r.toCluster]),l=rt(r.points,n[r.toCluster].node),c=!0),r.fromCluster&&(x.info("from cluster abc88",n[r.fromCluster]),l=rt(l.reverse(),n[r.fromCluster].node).reverse(),c=!0);const f=l.filter(C=>!Number.isNaN(C.y));let y=nt;r.curve&&(e==="graph"||e==="flowchart")&&(y=r.curve);const{x:p,y:u}=Jt(r),k=lt().x(p).y(u).curve(y);let g;switch(r.thickness){case"normal":g="edge-thickness-normal";break;case"thick":g="edge-thickness-thick";break;case"invisible":g="edge-thickness-thick";break;default:g=""}switch(r.pattern){case"solid":g+=" edge-pattern-solid";break;case"dotted":g+=" edge-pattern-dotted";break;case"dashed":g+=" edge-pattern-dashed";break}const d=a.append("path").attr("d",k(f)).attr("id",r.id).attr("class"," "+g+(r.classes?" "+r.classes:"")).attr("style",r.style);let b="";switch((w().flowchart.arrowMarkerAbsolute||w().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),x.info("arrowTypeStart",r.arrowTypeStart),x.info("arrowTypeEnd",r.arrowTypeEnd),r.arrowTypeStart){case"arrow_cross":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-crossStart)");break;case"arrow_point":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-pointStart)");break;case"arrow_barb":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-barbStart)");break;case"arrow_circle":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-circleStart)");break;case"aggregation":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-aggregationStart)");break;case"extension":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-extensionStart)");break;case"composition":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-compositionStart)");break;case"dependency":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-dependencyStart)");break;case"lollipop":d.attr("marker-start","url("+b+"#"+s+"_"+e+"-lollipopStart)");break}switch(r.arrowTypeEnd){case"arrow_cross":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-crossEnd)");break;case"arrow_point":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-pointEnd)");break;case"arrow_barb":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-barbEnd)");break;case"arrow_circle":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-circleEnd)");break;case"aggregation":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-aggregationEnd)");break;case"extension":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-extensionEnd)");break;case"composition":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-compositionEnd)");break;case"dependency":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-dependencyEnd)");break;case"lollipop":d.attr("marker-end","url("+b+"#"+s+"_"+e+"-lollipopEnd)");break}let B={};return c&&(B.updatedPath=l),B.originalPath=r.points,B};export{ar as a,lr as b,hr as c,cr as d,sr as e,nr as f,I as g,Mt as h,rr as i,Jt as j,_ as l,ir as p,er as s,v as u}; diff --git a/_nuxt/entry.q1HaRjkf.js b/_nuxt/entry.DMNM28aL.js similarity index 96% rename from _nuxt/entry.q1HaRjkf.js rename to _nuxt/entry.DMNM28aL.js index 4d22fb419f..1e35a1205d 100644 --- a/_nuxt/entry.q1HaRjkf.js +++ b/_nuxt/entry.DMNM28aL.js @@ -16,11 +16,11 @@ * @license MIT **/const Rm="http://www.w3.org/2000/svg",Im="http://www.w3.org/1998/Math/MathML",qt=typeof document<"u"?document:null,pc=qt&&qt.createElement("template"),Lm={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==="svg"?qt.createElementNS(Rm,e):t==="mathml"?qt.createElementNS(Im,e):qt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>qt.createTextNode(e),createComment:e=>qt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qt.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{pc.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=pc.content;if(r==="svg"||r==="mathml"){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]}},Vt="transition",tr="animation",Rr=Symbol("_vtc"),ua=(e,{slots:t})=>rt(Vp,Om(e),t);ua.displayName="Transition";const wf={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};ua.props=$e({},Bu,wf);const sn=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},mc=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function Om(e){const t={};for(const C in e)C in wf||(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:u=i,appearToClass:l=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=km(o),p=m&&m[0],y=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:g,onLeave:w,onLeaveCancelled:S,onBeforeAppear:T=_,onAppear:I=v,onAppearCancelled:L=g}=t,H=(C,A,V)=>{an(C,A?l:a),an(C,A?u:i),V&&V()},x=(C,A)=>{C._isLeaving=!1,an(C,f),an(C,h),an(C,d),A&&A()},P=C=>(A,V)=>{const J=C?I:v,F=()=>H(A,C,V);sn(J,[A,F]),gc(()=>{an(A,C?c:s),Bt(A,C?l:a),mc(J)||yc(A,r,p,F)})};return $e(t,{onBeforeEnter(C){sn(_,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){sn(T,[C]),Bt(C,c),Bt(C,u)},onEnter:P(!1),onAppear:P(!0),onLeave(C,A){C._isLeaving=!0;const V=()=>x(C,A);Bt(C,f),Nm(),Bt(C,d),gc(()=>{C._isLeaving&&(an(C,f),Bt(C,h),mc(w)||yc(C,r,y,V))}),sn(w,[C,V])},onEnterCancelled(C){H(C,!1),sn(g,[C])},onAppearCancelled(C){H(C,!0),sn(L,[C])},onLeaveCancelled(C){x(C),sn(S,[C])}})}function km(e){if(e==null)return null;if(Ee(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return iu(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Rr]||(e[Rr]=new Set)).add(t)}function an(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Rr];n&&(n.delete(t),n.size||(e[Rr]=void 0))}function gc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $m=0;function yc(e,t,n,r){const o=e._endId=++$m,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:a,propCount:c}=Mm(e,t);if(!i)return r();const u=i+"end";let l=0;const f=()=>{e.removeEventListener(u,d),s()},d=h=>{h.target===e&&++l>=c&&f()};setTimeout(()=>{l(n[m]||"").split(", "),o=r(`${Vt}Delay`),s=r(`${Vt}Duration`),i=_c(o,s),a=r(`${tr}Delay`),c=r(`${tr}Duration`),u=_c(a,c);let l=null,f=0,d=0;t===Vt?i>0&&(l=Vt,f=i,d=s.length):t===tr?u>0&&(l=tr,f=u,d=c.length):(f=Math.max(i,u),l=f>0?i>u?Vt:tr:null,d=l?l===Vt?s.length:c.length:0);const h=l===Vt&&/\b(transform|all)(,|$)/.test(r(`${Vt}Property`).toString());return{type:l,timeout:f,propCount:d,hasTransform:h}}function _c(e,t){for(;e.lengthvc(n)+vc(e[r])))}function vc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nm(){return document.body.offsetHeight}function Dm(e,t,n){const r=e[Rr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const fa=Symbol("_vod"),Hm={beforeMount(e,{value:t},{transition:n}){e[fa]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):nr(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),nr(e,!0),r.enter(e)):r.leave(e,()=>{nr(e,!1)}):nr(e,t))},beforeUnmount(e,{value:t}){nr(e,t)}};function nr(e,t){e.style.display=t?e[fa]:"none"}const Ef=Symbol("");function AP(e){const t=mt();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(s=>oi(s,o))},r=()=>{const o=e(t.proxy);ri(t.subTree,o),n(o)};Dp(r),Tt(()=>{const o=new MutationObserver(r);o.observe(t.subTree.el.parentNode,{childList:!0}),Pr(()=>o.disconnect())})}function ri(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ri(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)oi(e.el,t);else if(e.type===Pe)e.children.forEach(n=>ri(n,t));else if(e.type===jn){let{el:n,anchor:r}=e;for(;n&&(oi(n,t),n!==r);)n=n.nextSibling}}function oi(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const o in t)n.setProperty(`--${o}`,t[o]),r+=`--${o}: ${t[o]};`;n[Ef]=r}}function jm(e,t,n){const r=e.style,o=r.display,s=Ae(n);if(n&&!s){if(t&&!Ae(t))for(const i in t)n[i]==null&&si(r,i,"");for(const i in n)si(r,i,n[i])}else if(s){if(t!==n){const i=r[Ef];i&&(n+=";"+i),r.cssText=n}}else t&&e.removeAttribute("style");fa in e&&(r.display=o)}const bc=/\s*!important$/;function si(e,t,n){if(re(n))n.forEach(r=>si(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Fm(e,t);bc.test(n)?e.setProperty(En(r),n.replace(bc,""),"important"):e[r]=n}}const wc=["Webkit","Moz","ms"],Ts={};function Fm(e,t){const n=Ts[t];if(n)return n;let r=Et(t);if(r!=="filter"&&r in e)return Ts[t]=r;r=Wo(r);for(let o=0;oSs||(Wm.then(()=>Ss=0),Ss=Date.now());function Gm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;lt(Qm(r,n.value),t,5,[r])};return n.value=e,n.attached=qm(),n}function Qm(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 Sc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jm=(e,t,n,r,o,s,i,a,c)=>{const u=o==="svg";t==="class"?Dm(e,r,u):t==="style"?jm(e,n,r):Nr(t)?Bi(t)||Um(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ym(e,t,r,u))?Bm(e,t,r,s,i,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vm(e,t,r,u))};function Ym(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sc(t)&&oe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Sc(t)&&Ae(n)?!1:t in e}const Pc=e=>{const t=e.props["onUpdate:modelValue"]||!1;return re(t)?n=>Mn(t,n):t};function Zm(e){e.target.composing=!0}function Ac(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ps=Symbol("_assign"),Xm={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[Ps]=Pc(o);const s=r||o.props&&o.props.type==="number";Rn(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=Fs(a)),e[Ps](a)}),n&&Rn(e,"change",()=>{e.value=e.value.trim()}),t||(Rn(e,"compositionstart",Zm),Rn(e,"compositionend",Ac),Rn(e,"change",Ac))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e[Ps]=Pc(s),e.composing)return;const i=o||e.type==="number"?Fs(e.value):e.value,a=t??"";i!==a&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===a)||(e.value=a))}},eg=["ctrl","shift","alt","meta"],tg={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)=>eg.some(n=>e[`${n}Key`]&&!t.includes(n))},cr=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(o,...s)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=En(o.key);if(t.some(i=>i===s||ng[i]===s))return e(o)})},Cf=$e({patchProp:Jm},Lm);let gr,xc=!1;function rg(){return gr||(gr=dm(Cf))}function og(){return gr=xc?gr:hm(Cf),xc=!0,gr}const sg=(...e)=>{const t=rg().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Sf(r);if(!o)return;const s=t._component;!oe(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,Tf(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},ig=(...e)=>{const t=og().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Sf(r);if(o)return n(o,!0,Tf(o))},t};function Tf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Sf(e){return Ae(e)?document.querySelector(e):e}const ag=/#/g,cg=/&/g,lg=/=/g,da=/\+/g,ug=/%5e/gi,fg=/%60/gi,dg=/%7c/gi,hg=/%20/gi;function pg(e){return encodeURI(""+e).replace(dg,"|")}function ii(e){return pg(typeof e=="string"?e:JSON.stringify(e)).replace(da,"%2B").replace(hg,"+").replace(ag,"%23").replace(cg,"%26").replace(fg,"`").replace(ug,"^")}function xs(e){return ii(e).replace(lg,"%3D")}function xo(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function mg(e){return xo(e.replace(da," "))}function gg(e){return xo(e.replace(da," "))}function Pf(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=mg(r[1]);if(o==="__proto__"||o==="constructor")continue;const s=gg(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 yg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${xs(e)}=${ii(n)}`).join("&"):`${xs(e)}=${ii(t)}`:xs(e)}function _g(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>yg(t,e[t])).filter(Boolean).join("&")}const vg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,bg=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,wg=/^([/\\]\s*){2,}[^/\\]/;function Mt(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?vg.test(e):bg.test(e)||(t.acceptRelative?wg.test(e):!1)}const Eg=/^[\s\0]*(blob|data|javascript|vbscript):$/i;function Cg(e){return!!e&&Eg.test(e)}const Tg=/\/$|\/\?|\/#/;function ai(e="",t){return t?Tg.test(e):e.endsWith("/")}function tn(e="",t){if(!t)return(ai(e)?e.slice(0,-1):e)||"/";if(!ai(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");o>=0&&(n=e.slice(0,o),r=e.slice(o));const[s,...i]=n.split("?");return(s.slice(0,-1)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function Ro(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(ai(e,!0))return e||"/";let n=e,r="";const o=e.indexOf("#");if(o>=0&&(n=e.slice(0,o),r=e.slice(o),!n))return r;const[s,...i]=n.split("?");return s+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function Sg(e=""){return e.startsWith("/")}function ci(e=""){return Sg(e)?e:"/"+e}function Af(e,t){if(Rf(t)||Mt(e))return e;const n=tn(t);return e.startsWith(n)?e:Pn(n,e)}function Rc(e,t){if(Rf(t))return e;const n=tn(t);if(!e.startsWith(n))return e;const r=e.slice(n.length);return r[0]==="/"?r:"/"+r}function xf(e,t){const n=Vr(e),r={...Pf(n.search),...t};return n.search=_g(r),Rg(n)}function Rf(e){return!e||e==="/"}function Pg(e){return e&&e!=="/"}const Ag=/^\.?\//;function Pn(e,...t){let n=e||"";for(const r of t.filter(o=>Pg(o)))if(n){const o=r.replace(Ag,"");n=Ro(n)+o}else n=r;return n}function xg(e,t,n={}){return n.trailingSlash||(e=Ro(e),t=Ro(t)),n.leadingSlash||(e=ci(e),t=ci(t)),n.encoding||(e=xo(e),t=xo(t)),e===t}function Vr(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!Mt(e,{acceptRelative:!0}))return t?Vr(t+e):Ic(e);const[,r="",o,s=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,i="",a=""]=s.match(/([^#/?]*)(.*)?/)||[],{pathname:c,search:u,hash:l}=Ic(a.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:r.toLowerCase(),auth:o?o.slice(0,Math.max(0,o.length-1)):"",host:i,pathname:c,search:u,hash:l}}function Ic(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Rg(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}const Ig=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Io=Ig().app,Lg=()=>Io.baseURL,Og=()=>Io.buildAssetsDir,ha=(...e)=>Pn(If(),Og(),...e),If=(...e)=>{const t=Io.cdnURL||Io.baseURL;return e.length?Pn(t,...e):t};globalThis.__buildAssetsURL=ha,globalThis.__publicAssetsURL=If;const kg=/"(?:_|\\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*:/,$g=/"(?: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*:/,Mg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Ng(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Dg(e);return}return t}function Dg(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ir(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.at(-1)==='"'&&!e.includes("\\"))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(!Mg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(kg.test(e)||$g.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Ng)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}class Hg extends Error{constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!this.cause&&(this.cause=n.cause)}}function jg(e){var c,u,l,f,d;const t=((c=e.error)==null?void 0:c.message)||((u=e.error)==null?void 0:u.toString())||"",n=((l=e.request)==null?void 0:l.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 Hg(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 Fg=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Lc(e="GET"){return Fg.has(e.toUpperCase())}function Vg(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 Bg=new Set(["image/svg","application/xml","application/xhtml","application/html"]),zg=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Ug(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return zg.test(t)?"json":Bg.has(t)||t.startsWith("text/")?"text":"blob"}function Kg(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 Wg=new Set([408,409,425,429,500,502,503,504]),qg=new Set([101,204,205,304]);function Lf(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 l;typeof a.options.retry=="number"?l=a.options.retry:l=Lc(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(l>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):Wg.has(f))){const d=a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),s(a.request,{...a.options,retry:l-1,timeout:a.options.timeout})}}const u=jg(a);throw Error.captureStackTrace&&Error.captureStackTrace(u,s),u}const s=async function(c,u={}){var d;const l={request:c,options:Kg(u,e.defaults,n),response:void 0,error:void 0};if(l.options.method=(d=l.options.method)==null?void 0:d.toUpperCase(),l.options.onRequest&&await l.options.onRequest(l),typeof l.request=="string"&&(l.options.baseURL&&(l.request=Af(l.request,l.options.baseURL)),(l.options.query||l.options.params)&&(l.request=xf(l.request,{...l.options.params,...l.options.query}))),l.options.body&&Lc(l.options.method)&&(Vg(l.options.body)?(l.options.body=typeof l.options.body=="string"?l.options.body:JSON.stringify(l.options.body),l.options.headers=new n(l.options.headers||{}),l.options.headers.has("content-type")||l.options.headers.set("content-type","application/json"),l.options.headers.has("accept")||l.options.headers.set("accept","application/json")):("pipeTo"in l.options.body&&typeof l.options.body.pipeTo=="function"||typeof l.options.body.pipe=="function")&&("duplex"in l.options||(l.options.duplex="half"))),!l.options.signal&&l.options.timeout){const h=new r;setTimeout(()=>h.abort(),l.options.timeout),l.options.signal=h.signal}try{l.response=await t(l.request,l.options)}catch(h){return l.error=h,l.options.onRequestError&&await l.options.onRequestError(l),await o(l)}if(l.response.body&&!qg.has(l.response.status)&&l.options.method!=="HEAD"){const h=(l.options.parseResponse?"json":l.options.responseType)||Ug(l.response.headers.get("content-type")||"");switch(h){case"json":{const m=await l.response.text(),p=l.options.parseResponse||Ir;l.response._data=p(m);break}case"stream":{l.response._data=l.response.body;break}default:l.response._data=await l.response[h]()}}return l.options.onResponse&&await l.options.onResponse(l),!l.options.ignoreResponseError&&l.response.status>=400&&l.response.status<600?(l.options.onResponseError&&await l.options.onResponseError(l),await o(l)):l.response},i=async function(c,u){return(await s(c,u))._data};return i.raw=s,i.native=(...a)=>t(...a),i.create=(a={})=>Lf({...e,defaults:{...e.defaults,...a}}),i}const pa=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")}(),Gg=pa.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Qg=pa.Headers,Jg=pa.AbortController,Yg=Lf({fetch:Gg,Headers:Qg,AbortController:Jg}),Zg=Yg;globalThis.$fetch||(globalThis.$fetch=Zg.create({baseURL:Lg()}));function li(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?li(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const Xg={run:e=>e()},ey=()=>Xg,Of=typeof console.createTask<"u"?console.createTask:ey;function ty(e,t){const n=t.shift(),r=Of(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function ny(e,t){const n=t.shift(),r=Of(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function Rs(e,t){for(const n of[...e])n(t)}class ry{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=li(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=li(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(ty,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(ny,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 kf(){return new ry}function oy(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},u=()=>t===i?c:void 0;ui.add(u);try{const l=o?o.run(i,a):a();return n||(t=void 0),await l}finally{ui.delete(u)}}}}function sy(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=oy({...e,...r})),t[n],t[n]}}}const Lo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Oc="__unctx__",iy=Lo[Oc]||(Lo[Oc]=sy()),ay=(e,t={})=>iy.get(e,t),kc="__unctx_async_handlers__",ui=Lo[kc]||(Lo[kc]=new Set);function Lr(e){const t=[];for(const o of ui){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 $f=ay("nuxt-app",{asyncContext:!1}),cy="__nuxt_plugin";function ly(e){let t=0;const n={_scope:zh(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.10.0"},get vue(){return n.vueApp.version}},payload:ot({data:{},state:{},once:new Set,_errors:{},...window.__NUXT__??{}}),static:{data:{}},runWithContext:o=>n._scope.run(()=>Mf(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=kf(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(o,s)=>{const i="$"+o;no(n,i,s),no(n.vueApp.config.globalProperties,i,s)},no(n.vueApp,"$nuxt",n),no(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener("nuxt.preloadError",s=>{n.callHook("app:chunkError",{error:s.payload})}),window.useNuxtApp=window.useNuxtApp||ye;const o=n.hook("app:error",(...s)=>{console.error("[nuxt] error caught during app initialization",...s)});n.hook("app:mounted",o)}const r=ot(n.payload.config);return n.provide("config",r),n}async function uy(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 fy(e,t){const n=[],r=[],o=[],s=[];let i=0;async function a(c){var l;const u=((l=c.dependsOn)==null?void 0:l.filter(f=>t.some(d=>d._name===f)&&!n.includes(f)))??[];if(u.length>0)r.push([new Set(u),c]);else{const f=uy(e,c).then(async()=>{c._name&&(n.push(c._name),await Promise.all(r.map(async([d,h])=>{d.has(c._name)&&(d.delete(c._name),d.size===0&&(i++,await a(h)))})))});c.parallel?o.push(f.catch(d=>s.push(d))):await f}}for(const c of t)await a(c);if(await Promise.all(o),i)for(let c=0;c{}),e,{[cy]:!0,_name:t})}function Mf(e,t,n){const r=()=>n?t(...n):t();return $f.set(e),e.vueApp.runWithContext(r)}function dy(){var t;let e;return tf()&&(e=(t=mt())==null?void 0:t.appContext.app.$nuxt),e=e||$f.tryUse(),e||null}function ye(){const e=dy();if(!e)throw new Error("[nuxt] instance unavailable");return e}function Je(e){return ye().$config}function no(e,t,n){Object.defineProperty(e,t,{get:()=>n})}const ro=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function hy(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n={},o=(t||{}).decode||gy;let s=0;for(;s{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 u=Object.keys(o);e.unorderedObjects&&(u=u.sort());let l=[];e.respectType!==!1&&!Nc(o)&&(l=_y),e.excludeKeys&&(u=u.filter(d=>!e.excludeKeys(d)),l=l.filter(d=>!e.excludeKeys(d))),r("object:"+(u.length+l.length)+":");const f=d=>{this.dispatch(d),r(":"),e.excludeValues||this.dispatch(o[d]),r(",")};for(const d of u)f(d);for(const d of l)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 u=Nf(e);u.dispatch(c);for(const[l,f]of u.getContext())i.set(l,f);return u.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 Df="[native code] }",vy=Df.length;function Nc(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-vy)===Df}class Xt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||by).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 Xt([...this.words])}}const by={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("")}},wy={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("")}},Ey={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Xt(n,t)}},Cy={parse(e){return Ey.parse(unescape(encodeURIComponent(e)))}};class Ty{constructor(){this._data=new Xt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Xt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=Cy.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)^(g<<14|g>>>18)^g>>>3,S=cn[d-2],T=(S<<15|S>>>17)^(S<<13|S>>>19)^S>>>10;cn[d]=w+cn[d-7]+T+cn[d-16]}const h=c&u^~c&l,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),_=f+y+h+Py[d]+cn[d],v=p+m;f=l,l=u,u=c,c=a+_|0,a=i,i=s,s=o,o=_+v|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]+u|0,r[6]=r[6]+l|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 xy(e){return new Ay().finalize(e).toString(wy)}function Oo(e,t={}){const n=typeof e=="string"?e:fi(e,t);return xy(n).slice(0,10)}function Ry(e,t,n={}){return e===t||fi(e,n)===fi(t,n)}function Iy(e){return{ctx:{table:e},matchAll:t=>jf(t,e)}}function Hf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,Hf(o)])):new Map(Object.entries(e[n]));return t}function Ly(e){return Iy(Hf(e))}function jf(e,t){const n=[];for(const[o,s]of Hc(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Hc(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...jf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Hc(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function Is(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function di(e,t,n=".",r){if(!Is(t))return di(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]=di(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function Ff(e){return(...t)=>t.reduce((n,r)=>di(n,r,"",e),{})}const Fn=Ff(),Oy=Ff((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function ky(e,t){try{return t in e}catch{return!1}}var $y=Object.defineProperty,My=(e,t,n)=>t in e?$y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ln=(e,t,n)=>(My(e,typeof t!="symbol"?t+"":t,n),n);class hi 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:mi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=Vf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}ln(hi,"__h3_error__",!0);function pi(e){if(typeof e=="string")return new hi(e);if(Ny(e))return e;const t=new hi(e.message??e.statusMessage??"",{cause:e.cause||e});if(ky(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=mi(e.statusCode,t.statusCode):e.status&&(t.statusCode=mi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;Vf(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 Ny(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const Dy=/[^\u0009\u0020-\u007E]/g;function Vf(e=""){return e.replace(Dy,"")}function mi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Hy=Symbol("layout-meta"),ns=Symbol("route"),Ye=()=>{var e;return(e=ye())==null?void 0:e.$router},ut=()=>tf()?He(ns,ye()._route):ye()._route;const jy=(e,t,n={})=>{const r=ye(),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},Fy=()=>{try{if(ye()._processingMiddleware)return!0}catch{return!0}return!1},Bf=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:xf(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,u=Object.entries(c).filter(([l,f])=>f!==void 0).map(([l,f])=>`${l.toLowerCase()}=${f}`).join(", ");open(n,a,u)}return Promise.resolve()}const r=(t==null?void 0:t.external)||Mt(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=Vr(n).protocol;if(a&&Cg(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=Fy();if(!r&&o)return e;const s=Ye(),i=ye();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)},zf="__nuxt_error",rs=()=>ta(ye().payload,"error"),On=e=>{const t=Br(e);try{const n=ye(),r=rs();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},Vy=async(e={})=>{const t=ye(),n=rs();t.callHook("app:error:cleared",e),e.redirect&&await Ye().replace(e.redirect),n.value=null},By=e=>!!e&&typeof e=="object"&&zf in e,Br=e=>{const t=pi(e);return Object.defineProperty(t,zf,{value:!0,configurable:!1,writable:!1}),t},zy="modulepreload",Uy=function(e,t){return e[0]==="."?new URL(e,t).href:e},jc={},Ky=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");o=Promise.all(n.map(i=>{if(i=Uy(i,r),i in jc)return;jc[i]=!0;const a=i.endsWith(".css"),c=a?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const d=s[f];if(d.href===i&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const l=document.createElement("link");if(l.rel=a?"stylesheet":zy,a||(l.as="script",l.crossOrigin=""),l.href=i,document.head.appendChild(l),a)return new Promise((f,d)=>{l.addEventListener("load",f),l.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},k=(...e)=>Ky(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Wy=-1,qy=-2,Gy=-3,Qy=-4,Jy=-5,Yy=-6;function Zy(e,t){return Xy(JSON.parse(e),t)}function Xy(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===Wy)return;if(s===Gy)return NaN;if(s===Qy)return 1/0;if(s===Jy)return-1/0;if(s===Yy)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],u=t==null?void 0:t[c];if(u)return r[s]=u(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const l=new Set;r[s]=l;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Fc(e){return e._h||ma(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function Kf(e,t){const{props:n,tag:r}=e;if(r_.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 Vc(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function s_(e,t,n){const r={tag:e,props:await Wf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return Uf.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent","children"].includes(o)||t_.includes(r.tag))&&(r[o==="children"?"innerHTML":o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(o=>({...r,props:{...r.props,content:o}})):r}function i_(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 Wf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=i_(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!Uf.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 a_=10;async function c_(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&n_.includes(n)).forEach(([n,r])=>{const o=e_(r);t.push(...o.map(s=>s_(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[u]||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,u)=>`${a}${u}`).trim())}),e.includes(zt)&&(e.endsWith(zt)&&(e=e.slice(0,-zt.length).trim()),e.startsWith(zt)&&(e=e.slice(zt.length).trim()),e=e.replace(new RegExp(`\\${zt}\\s*\\${zt}`,"g"),zt),e=uo(e,{separator:n},n)),e}async function u_(e){const t={tag:e.tagName.toLowerCase(),props:await Wf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=Kf(t),t}async function Gf(e,t={}){var l;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:lo.includes(f.tag)?Fc(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=(l=n==null?void 0:n[f])==null?void 0:l.children;for(const h of[...d].filter(m=>lo.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||Fc(await u_(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 _=`attr:${p}`;if(p==="class")for(const v of(y||"").split(" ").filter(Boolean))m&&i(f,`${_}:${v}`,()=>d.classList.remove(v)),!d.classList.contains(v)&&d.classList.add(v);else d.getAttribute(p)!==y&&d.setAttribute(p,y===!0?"":String(y)),m&&i(f,_,()=>d.removeAttribute(p))})}const c=[],u={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):lo.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),u[d]=u[d]||n.createDocumentFragment(),u[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function f_(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await Gf(e,t),delete e._domUpdatePromise,r()}))}function d_(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){f_(s,e)}}}}}const h_=["templateParams","htmlAttrs","bodyAttrs"],p_={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=Kf(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&&h_.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(u=>{c[u]&&(r.props[u]?(u==="style"&&!c[u].endsWith(";")&&(c[u]+=";"),r.props[u]=`${c[u]} ${r.props[u]}`):r.props[u]=c[u])}),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(ko(r)>ko(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(lo.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))}}},m_={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"}})}}},g_=["script","link","bodyAttrs"];function y_(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(qf.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const __=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(g_.includes(n.tag)){const{props:r,eventHandlers:o}=y_(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||ma(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(),u=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(u))return;t.$el.setAttribute(u,"");let l;const f=d=>{i(d),l==null||l.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):qf.includes(s)&&typeof MutationObserver<"u"?(l=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),l==null||l.disconnect())}),l.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{l==null||l.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(u)})})}}}),v_=["link","style","script","noscript"],b_={hooks:{"tag:normalise":({tag:e})=>{e.key&&v_.includes(e.tag)&&(e.props["data-hid"]=e._h=ma(e.key))}}},w_={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 l_)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)=>ko(n)-ko(r))}}},E_={meta:"content",link:"href",htmlAttrs:"lang"},C_=e=>({hooks:{"tags:resolve":t=>{var a;const{tags:n}=t,r=(a=n.find(c=>c.tag==="title"))==null?void 0:a.textContent,o=n.findIndex(c=>c.tag==="templateParams"),s=o!==-1?n[o].props:{},i=s.separator||"|";delete s.separator,s.pageTitle=uo(s.pageTitle||r||"",s,i);for(const c of n.filter(u=>u.processTemplateParams!==!1)){const u=E_[c.tag];u&&typeof c.props[u]=="string"?c.props[u]=uo(c.props[u],s,i):(c.processTemplateParams===!0||["titleTemplate","title"].includes(c.tag))&&["innerHTML","textContent"].forEach(l=>{typeof c[l]=="string"&&(c[l]=uo(c[l],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(c=>c.tag!=="templateParams")}}}),T_={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=Vc(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Vc(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)}}},S_={hooks:{"tags:afterResolve":function(e){for(const t of e.tags)typeof t.innerHTML=="string"&&(t.innerHTML&&["application/ld+json","application/json"].includes(t.props.type)?t.innerHTML=t.innerHTML.replace(/{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 u=typeof c=="function"?c(a):c;(!u.key||!i.some(l=>l.key===u.key))&&(i.push(u),Uc(u.mode,n)&&t.addHooks(u.hooks||{}))},push(c,u){u==null||delete u.head;const l={_i:o++,input:c,...u};return Uc(l.mode,n)&&(s.push(l),r()),{dispose(){s=s.filter(f=>f._i!==l._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===l._i&&(d.input=l.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const u of c.entries){const l=u.resolvedInput||u.input;if(u.resolvedInput=await(u.transform?u.transform(l):l),u.resolvedInput)for(const f of await c_(u)){const d={tag:f,entry:u,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),await t.callHook("tags:afterResolve",c),c.tags},ssr:n};return[p_,m_,__,b_,w_,C_,T_,S_,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function x_(){return Qf}const R_=bf.startsWith("3");function I_(e){return typeof e=="function"?e():M(e)}function $o(e,t=""){if(e instanceof Promise)return e;const n=I_(e);return!e||!n?n:Array.isArray(n)?n.map(r=>$o(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,$o(o,r)])):n}const L_={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=$o(t.input)}}},Jf="usehead";function O_(e){return{install(n){R_&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Jf,e))}}.install}function k_(e={}){e.domDelayFn=e.domDelayFn||(n=>Ct(()=>setTimeout(()=>n(),0)));const t=P_(e);return t.use(L_),t.install=O_(t),t}const gi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},yi="__unhead_injection_handler__";function $_(e){gi[yi]=e}function M_(){if(yi in gi)return gi[yi]();const e=He(Jf);return e||x_()}function Or(e,t={}){const n=t.head||M_();if(n)return n.ssr?n.push(e,t):N_(n,e,t)}function N_(e,t,n={}){const r=le(!1),o=le({});Np(()=>{o.value=r.value?{}:$o(t)});const s=e.push(o.value,n);return ge(o,a=>{s.patch(a)}),mt()&&(Yn(()=>{s.dispose()}),Wu(()=>{r.value=!0}),Ku(()=>{r.value=!1})),s}function _t(e){if(typeof e!="object")return e;var t,n,r=Object.prototype.toString.call(e);if(r==="[object Object]"){if(e.constructor!==Object&&typeof e.constructor=="function"){n=new e.constructor;for(t in e)e.hasOwnProperty(t)&&n[t]!==e[t]&&(n[t]=_t(e[t]))}else{n={};for(t in e)t==="__proto__"?Object.defineProperty(n,t,{value:_t(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=_t(e[t])}return n}if(r==="[object Array]"){for(t=e.length,n=Array(t);t--;)n[t]=_t(e[t]);return n}return r==="[object Set]"?(n=new Set,e.forEach(function(o){n.add(_t(o))}),n):r==="[object Map]"?(n=new Map,e.forEach(function(o,s){n.set(_t(s),_t(o))}),n):r==="[object Date]"?new Date(+e):r==="[object RegExp]"?(n=new RegExp(e.source,e.flags),n.lastIndex=e.lastIndex,n):r==="[object DataView]"?new e.constructor(_t(e.buffer)):r==="[object ArrayBuffer]"?e.slice(0):r.slice(-6)==="Array]"?new e.constructor(e):e}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}}},j_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},F_={},V_={nuxt:{buildId:"a25567f7-a738-4b47-8a49-57e2725c9552"}},B_=Oy(D_,H_,j_,F_,V_);function ga(){const e=ye();return e._appConfig||(e._appConfig=ot(B_)),e._appConfig}const xP=!1,_i=!1,z_=!1,U_={componentName:"NuxtLink"},K_={deep:!0},W_="#__nuxt";let fo,Yf;function q_(){var t;const e=(t=ga().nuxt)==null?void 0:t.buildId;return fo=$fetch(ha(`builds/meta/${e}.json`)),fo.then(n=>{Yf=Ly(n.matcher)}),fo}function os(){return fo||q_()}async function Zf(e){return await os(),Fn({},...Yf.matchAll(e).reverse())}function Kc(e,t={}){const n=G_(e,t),r=ye(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=Q_(e).then(s=>s?Xf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Wc="json";function G_(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"||Mt(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return Pn(Je().app.baseURL,n.pathname,r?`_payload.${r}.${Wc}`:`_payload.${Wc}`)}async function Xf(e){const t=fetch(e).then(n=>n.text().then(ed));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function Q_(e=ut().path){if(e=tn(e),(await os()).prerendered.includes(e))return!0;const n=await Zf(e);return!!n.prerender&&!n.redirect}let oo=null;async function J_(){if(oo)return oo;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await ed(e.textContent||""),n=e.dataset.src?await Xf(e.dataset.src):void 0;return oo={...t,...n,...window.__NUXT__},oo}async function ed(e){return await Zy(e,ye()._payloadRevivers)}function Y_(e,t){ye()._payloadRevivers[e]=t}const qc={NuxtError:e=>Br(e),EmptyShallowRef:e=>Ot(e==="_"?void 0:e==="0n"?BigInt(0):Ir(e)),EmptyRef:e=>le(e==="_"?void 0:e==="0n"?BigInt(0):Ir(e)),ShallowRef:e=>Ot(e),ShallowReactive:e=>Yt(e),Ref:e=>le(e),Reactive:e=>ot(e)},Z_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in qc)Y_(r,qc[r]);Object.assign(e.payload,([t,n]=Lr(()=>e.runWithContext(J_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),X_=[],ev=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=k_({plugins:X_});$_(()=>ye().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Gf(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 Df="[native code] }",vy=Df.length;function Nc(e){return typeof e!="function"?!1:Function.prototype.toString.call(e).slice(-vy)===Df}class Xt{constructor(t,n){t=this.words=t||[],this.sigBytes=n===void 0?t.length*4:n}toString(t){return(t||by).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 Xt([...this.words])}}const by={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("")}},wy={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("")}},Ey={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new Xt(n,t)}},Cy={parse(e){return Ey.parse(unescape(encodeURIComponent(e)))}};class Ty{constructor(){this._data=new Xt,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new Xt,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=Cy.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)^(g<<14|g>>>18)^g>>>3,S=cn[d-2],T=(S<<15|S>>>17)^(S<<13|S>>>19)^S>>>10;cn[d]=w+cn[d-7]+T+cn[d-16]}const h=c&u^~c&l,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),_=f+y+h+Py[d]+cn[d],v=p+m;f=l,l=u,u=c,c=a+_|0,a=i,i=s,s=o,o=_+v|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]+u|0,r[6]=r[6]+l|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 xy(e){return new Ay().finalize(e).toString(wy)}function Oo(e,t={}){const n=typeof e=="string"?e:fi(e,t);return xy(n).slice(0,10)}function Ry(e,t,n={}){return e===t||fi(e,n)===fi(t,n)}function Iy(e){return{ctx:{table:e},matchAll:t=>jf(t,e)}}function Hf(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Object.entries(e[n]).map(([r,o])=>[r,Hf(o)])):new Map(Object.entries(e[n]));return t}function Ly(e){return Iy(Hf(e))}function jf(e,t){const n=[];for(const[o,s]of Hc(t.wildcard))e.startsWith(o)&&n.push(s);for(const[o,s]of Hc(t.dynamic))if(e.startsWith(o+"/")){const i="/"+e.slice(o.length).split("/").splice(2).join("/");n.push(...jf(i,s))}const r=t.static.get(e);return r&&n.push(r),n.filter(Boolean)}function Hc(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}function Is(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function di(e,t,n=".",r){if(!Is(t))return di(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]=di(i,o[s],(n?`${n}.`:"")+s.toString(),r):o[s]=i))}return o}function Ff(e){return(...t)=>t.reduce((n,r)=>di(n,r,"",e),{})}const Fn=Ff(),Oy=Ff((e,t,n)=>{if(e[t]!==void 0&&typeof n=="function")return e[t]=n(e[t]),!0});function ky(e,t){try{return t in e}catch{return!1}}var $y=Object.defineProperty,My=(e,t,n)=>t in e?$y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ln=(e,t,n)=>(My(e,typeof t!="symbol"?t+"":t,n),n);class hi 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:mi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=Vf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}ln(hi,"__h3_error__",!0);function pi(e){if(typeof e=="string")return new hi(e);if(Ny(e))return e;const t=new hi(e.message??e.statusMessage??"",{cause:e.cause||e});if(ky(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=mi(e.statusCode,t.statusCode):e.status&&(t.statusCode=mi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;Vf(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 Ny(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const Dy=/[^\u0009\u0020-\u007E]/g;function Vf(e=""){return e.replace(Dy,"")}function mi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Hy=Symbol("layout-meta"),ns=Symbol("route"),Ye=()=>{var e;return(e=ye())==null?void 0:e.$router},ut=()=>tf()?He(ns,ye()._route):ye()._route;const jy=(e,t,n={})=>{const r=ye(),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},Fy=()=>{try{if(ye()._processingMiddleware)return!0}catch{return!0}return!1},Bf=(e,t)=>{e||(e="/");const n=typeof e=="string"?e:xf(e.path||"/",e.query||{})+(e.hash||"");if(t!=null&&t.open){{const{target:a="_blank",windowFeatures:c={}}=t.open,u=Object.entries(c).filter(([l,f])=>f!==void 0).map(([l,f])=>`${l.toLowerCase()}=${f}`).join(", ");open(n,a,u)}return Promise.resolve()}const r=(t==null?void 0:t.external)||Mt(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=Vr(n).protocol;if(a&&Cg(a))throw new Error(`Cannot navigate to a URL with '${a}' protocol.`)}const o=Fy();if(!r&&o)return e;const s=Ye(),i=ye();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)},zf="__nuxt_error",rs=()=>ta(ye().payload,"error"),On=e=>{const t=Br(e);try{const n=ye(),r=rs();n.hooks.callHook("app:error",t),r.value=r.value||t}catch{throw t}return t},Vy=async(e={})=>{const t=ye(),n=rs();t.callHook("app:error:cleared",e),e.redirect&&await Ye().replace(e.redirect),n.value=null},By=e=>!!e&&typeof e=="object"&&zf in e,Br=e=>{const t=pi(e);return Object.defineProperty(t,zf,{value:!0,configurable:!1,writable:!1}),t},zy="modulepreload",Uy=function(e,t){return e[0]==="."?new URL(e,t).href:e},jc={},Ky=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link");o=Promise.all(n.map(i=>{if(i=Uy(i,r),i in jc)return;jc[i]=!0;const a=i.endsWith(".css"),c=a?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const d=s[f];if(d.href===i&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const l=document.createElement("link");if(l.rel=a?"stylesheet":zy,a||(l.as="script",l.crossOrigin=""),l.href=i,document.head.appendChild(l),a)return new Promise((f,d)=>{l.addEventListener("load",f),l.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},k=(...e)=>Ky(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Wy=-1,qy=-2,Gy=-3,Qy=-4,Jy=-5,Yy=-6;function Zy(e,t){return Xy(JSON.parse(e),t)}function Xy(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===Wy)return;if(s===Gy)return NaN;if(s===Qy)return 1/0;if(s===Jy)return-1/0;if(s===Yy)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],u=t==null?void 0:t[c];if(u)return r[s]=u(o(a[1]));switch(c){case"Date":r[s]=new Date(a[1]);break;case"Set":const l=new Set;r[s]=l;for(let h=1;h>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Fc(e){return e._h||ma(e._d?e._d:`${e.tag}:${e.textContent||e.innerHTML||""}:${Object.entries(e.props).map(([t,n])=>`${t}:${String(n)}`).join(",")}`)}function Kf(e,t){const{props:n,tag:r}=e;if(r_.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 Vc(e,t){return e==null?t||null:typeof e=="function"?e(t):e}async function s_(e,t,n){const r={tag:e,props:await Wf(typeof t=="object"&&typeof t!="function"&&!(t instanceof Promise)?{...t}:{[["script","noscript","style"].includes(e)?"innerHTML":"textContent"]:t},["templateParams","titleTemplate"].includes(e))};return Uf.forEach(o=>{const s=typeof r.props[o]<"u"?r.props[o]:n[o];typeof s<"u"&&((!["innerHTML","textContent","children"].includes(o)||t_.includes(r.tag))&&(r[o==="children"?"innerHTML":o]=s),delete r.props[o])}),r.props.body&&(r.tagPosition="bodyClose",delete r.props.body),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(o=>({...r,props:{...r.props,content:o}})):r}function i_(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 Wf(e,t){for(const n of Object.keys(e)){if(n==="class"){e[n]=i_(e[n]);continue}if(e[n]instanceof Promise&&(e[n]=await e[n]),!t&&!Uf.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 a_=10;async function c_(e){const t=[];return Object.entries(e.resolvedInput).filter(([n,r])=>typeof r<"u"&&n_.includes(n)).forEach(([n,r])=>{const o=e_(r);t.push(...o.map(s=>s_(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[u]||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,u)=>`${a}${u}`).trim())}),e.includes(zt)&&(e.endsWith(zt)&&(e=e.slice(0,-zt.length).trim()),e.startsWith(zt)&&(e=e.slice(zt.length).trim()),e=e.replace(new RegExp(`\\${zt}\\s*\\${zt}`,"g"),zt),e=uo(e,{separator:n},n)),e}async function u_(e){const t={tag:e.tagName.toLowerCase(),props:await Wf(e.getAttributeNames().reduce((n,r)=>({...n,[r]:e.getAttribute(r)}),{})),innerHTML:e.innerHTML};return t._d=Kf(t),t}async function Gf(e,t={}){var l;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:lo.includes(f.tag)?Fc(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=(l=n==null?void 0:n[f])==null?void 0:l.children;for(const h of[...d].filter(m=>lo.includes(m.tagName.toLowerCase())))s.elMap[h.getAttribute("data-hid")||Fc(await u_(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 _=`attr:${p}`;if(p==="class")for(const v of(y||"").split(" ").filter(Boolean))m&&i(f,`${_}:${v}`,()=>d.classList.remove(v)),!d.classList.contains(v)&&d.classList.add(v);else d.getAttribute(p)!==y&&d.setAttribute(p,y===!0?"":String(y)),m&&i(f,_,()=>d.removeAttribute(p))})}const c=[],u={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):lo.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),u[d]=u[d]||n.createDocumentFragment(),u[d].appendChild(f.$el)}for(const f of o)await e.hooks.callHook("dom:renderTag",f,n,i);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose),Object.values(s.pendingSideEffects).forEach(f=>f()),e._dom=s,e.dirty=!1,await e.hooks.callHook("dom:rendered",{renders:o})}async function f_(e,t={}){const n=t.delayFn||(r=>setTimeout(r,10));return e._domUpdatePromise=e._domUpdatePromise||new Promise(r=>n(async()=>{await Gf(e,t),delete e._domUpdatePromise,r()}))}function d_(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){f_(s,e)}}}}}const h_=["templateParams","htmlAttrs","bodyAttrs"],p_={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=Kf(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&&h_.includes(r.tag)&&(a="merge"),a==="merge"){const c=s.props;["class","style"].forEach(u=>{c[u]&&(r.props[u]?(u==="style"&&!c[u].endsWith(";")&&(c[u]+=";"),r.props[u]=`${c[u]} ${r.props[u]}`):r.props[u]=c[u])}),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(ko(r)>ko(s))return}const i=Object.keys(r.props).length+(r.innerHTML?1:0)+(r.textContent?1:0);if(lo.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))}}},m_={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"}})}}},g_=["script","link","bodyAttrs"];function y_(e){const t={},n={};return Object.entries(e.props).forEach(([r,o])=>{r.startsWith("on")&&typeof o=="function"?(qf.includes(r)&&(t[r]=`this.dataset.${r} = true`),n[r]=o):t[r]=o}),{props:t,eventHandlers:n}}const __=e=>({hooks:{"tags:resolve":function(t){for(const n of t.tags)if(g_.includes(n.tag)){const{props:r,eventHandlers:o}=y_(n);n.props=r,Object.keys(o).length&&((n.props.src||n.props.href)&&(n.key=n.key||ma(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(),u=`data-h-${c}`;if(r(t.id,a,()=>{}),t.$el.hasAttribute(u))return;t.$el.setAttribute(u,"");let l;const f=d=>{i(d),l==null||l.disconnect()};s in t.$el.dataset?f(new Event(s.replace("on",""))):qf.includes(s)&&typeof MutationObserver<"u"?(l=new MutationObserver(d=>{d.some(m=>m.attributeName===`data-${s}`)&&(f(new Event(s.replace("on",""))),l==null||l.disconnect())}),l.observe(t.$el,{attributes:!0})):o.addEventListener(c,f),r(t.id,a,()=>{l==null||l.disconnect(),o.removeEventListener(c,f),t.$el.removeAttribute(u)})})}}}),v_=["link","style","script","noscript"],b_={hooks:{"tag:normalise":({tag:e})=>{e.key&&v_.includes(e.tag)&&(e.props["data-hid"]=e._h=ma(e.key))}}},w_={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 l_)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)=>ko(n)-ko(r))}}},E_={meta:"content",link:"href",htmlAttrs:"lang"},C_=e=>({hooks:{"tags:resolve":t=>{var a;const{tags:n}=t,r=(a=n.find(c=>c.tag==="title"))==null?void 0:a.textContent,o=n.findIndex(c=>c.tag==="templateParams"),s=o!==-1?n[o].props:{},i=s.separator||"|";delete s.separator,s.pageTitle=uo(s.pageTitle||r||"",s,i);for(const c of n.filter(u=>u.processTemplateParams!==!1)){const u=E_[c.tag];u&&typeof c.props[u]=="string"?c.props[u]=uo(c.props[u],s,i):(c.processTemplateParams===!0||["titleTemplate","title"].includes(c.tag))&&["innerHTML","textContent"].forEach(l=>{typeof c[l]=="string"&&(c[l]=uo(c[l],s,i))})}e._templateParams=s,e._separator=i,t.tags=n.filter(c=>c.tag!=="templateParams")}}}),T_={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=Vc(t[n].textContent,t[r].textContent);o!==null?t[r].textContent=o||t[r].textContent:delete t[r]}else if(n!==-1){const o=Vc(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)}}},S_={hooks:{"tags:afterResolve":function(e){for(const t of e.tags)typeof t.innerHTML=="string"&&(t.innerHTML&&["application/ld+json","application/json"].includes(t.props.type)?t.innerHTML=t.innerHTML.replace(/{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 u=typeof c=="function"?c(a):c;(!u.key||!i.some(l=>l.key===u.key))&&(i.push(u),Uc(u.mode,n)&&t.addHooks(u.hooks||{}))},push(c,u){u==null||delete u.head;const l={_i:o++,input:c,...u};return Uc(l.mode,n)&&(s.push(l),r()),{dispose(){s=s.filter(f=>f._i!==l._i),t.callHook("entries:updated",a),r()},patch(f){s=s.map(d=>(d._i===l._i&&(d.input=l.input=f),d)),r()}}},async resolveTags(){const c={tags:[],entries:[...s]};await t.callHook("entries:resolve",c);for(const u of c.entries){const l=u.resolvedInput||u.input;if(u.resolvedInput=await(u.transform?u.transform(l):l),u.resolvedInput)for(const f of await c_(u)){const d={tag:f,entry:u,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),await t.callHook("tags:afterResolve",c),c.tags},ssr:n};return[p_,m_,__,b_,w_,C_,T_,S_,...(e==null?void 0:e.plugins)||[]].forEach(c=>a.use(c)),a.hooks.callHook("init",a),a}function x_(){return Qf}const R_=bf.startsWith("3");function I_(e){return typeof e=="function"?e():M(e)}function $o(e,t=""){if(e instanceof Promise)return e;const n=I_(e);return!e||!n?n:Array.isArray(n)?n.map(r=>$o(r,t)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([r,o])=>r==="titleTemplate"||r.startsWith("on")?[r,M(o)]:[r,$o(o,r)])):n}const L_={hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=$o(t.input)}}},Jf="usehead";function O_(e){return{install(n){R_&&(n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Jf,e))}}.install}function k_(e={}){e.domDelayFn=e.domDelayFn||(n=>Ct(()=>setTimeout(()=>n(),0)));const t=P_(e);return t.use(L_),t.install=O_(t),t}const gi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},yi="__unhead_injection_handler__";function $_(e){gi[yi]=e}function M_(){if(yi in gi)return gi[yi]();const e=He(Jf);return e||x_()}function Or(e,t={}){const n=t.head||M_();if(n)return n.ssr?n.push(e,t):N_(n,e,t)}function N_(e,t,n={}){const r=le(!1),o=le({});Np(()=>{o.value=r.value?{}:$o(t)});const s=e.push(o.value,n);return ge(o,a=>{s.patch(a)}),mt()&&(Yn(()=>{s.dispose()}),Wu(()=>{r.value=!0}),Ku(()=>{r.value=!1})),s}function _t(e){if(typeof e!="object")return e;var t,n,r=Object.prototype.toString.call(e);if(r==="[object Object]"){if(e.constructor!==Object&&typeof e.constructor=="function"){n=new e.constructor;for(t in e)e.hasOwnProperty(t)&&n[t]!==e[t]&&(n[t]=_t(e[t]))}else{n={};for(t in e)t==="__proto__"?Object.defineProperty(n,t,{value:_t(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=_t(e[t])}return n}if(r==="[object Array]"){for(t=e.length,n=Array(t);t--;)n[t]=_t(e[t]);return n}return r==="[object Set]"?(n=new Set,e.forEach(function(o){n.add(_t(o))}),n):r==="[object Map]"?(n=new Map,e.forEach(function(o,s){n.set(_t(s),_t(o))}),n):r==="[object Date]"?new Date(+e):r==="[object RegExp]"?(n=new RegExp(e.source,e.flags),n.lastIndex=e.lastIndex,n):r==="[object DataView]"?new e.constructor(_t(e.buffer)):r==="[object ArrayBuffer]"?e.slice(0):r.slice(-6)==="Array]"?new e.constructor(e):e}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}}},j_={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},F_={},V_={nuxt:{buildId:"2269162f-d821-4292-851a-6d7f1477d536"}},B_=Oy(D_,H_,j_,F_,V_);function ga(){const e=ye();return e._appConfig||(e._appConfig=ot(B_)),e._appConfig}const xP=!1,_i=!1,z_=!1,U_={componentName:"NuxtLink"},K_={deep:!0},W_="#__nuxt";let fo,Yf;function q_(){var t;const e=(t=ga().nuxt)==null?void 0:t.buildId;return fo=$fetch(ha(`builds/meta/${e}.json`)),fo.then(n=>{Yf=Ly(n.matcher)}),fo}function os(){return fo||q_()}async function Zf(e){return await os(),Fn({},...Yf.matchAll(e).reverse())}function Kc(e,t={}){const n=G_(e,t),r=ye(),o=r._payloadCache=r._payloadCache||{};return n in o||(o[n]=Q_(e).then(s=>s?Xf(n).then(i=>i||(delete o[n],null)):(o[n]=null,null))),o[n]}const Wc="json";function G_(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"||Mt(n.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+e);const r=t.hash||(t.fresh?Date.now():"");return Pn(Je().app.baseURL,n.pathname,r?`_payload.${r}.${Wc}`:`_payload.${Wc}`)}async function Xf(e){const t=fetch(e).then(n=>n.text().then(ed));try{return await t}catch(n){console.warn("[nuxt] Cannot load payload ",e,n)}return null}async function Q_(e=ut().path){if(e=tn(e),(await os()).prerendered.includes(e))return!0;const n=await Zf(e);return!!n.prerender&&!n.redirect}let oo=null;async function J_(){if(oo)return oo;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await ed(e.textContent||""),n=e.dataset.src?await Xf(e.dataset.src):void 0;return oo={...t,...n,...window.__NUXT__},oo}async function ed(e){return await Zy(e,ye()._payloadRevivers)}function Y_(e,t){ye()._payloadRevivers[e]=t}const qc={NuxtError:e=>Br(e),EmptyShallowRef:e=>Ot(e==="_"?void 0:e==="0n"?BigInt(0):Ir(e)),EmptyRef:e=>le(e==="_"?void 0:e==="0n"?BigInt(0):Ir(e)),ShallowRef:e=>Ot(e),ShallowReactive:e=>Yt(e),Ref:e=>le(e),Reactive:e=>ot(e)},Z_=Be({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const r in qc)Y_(r,qc[r]);Object.assign(e.payload,([t,n]=Lr(()=>e.runWithContext(J_)),t=await t,n(),t)),window.__NUXT__=e.payload}}),X_=[],ev=Be({name:"nuxt:head",enforce:"pre",setup(e){const t=k_({plugins:X_});$_(()=>ye().vueApp._context.provides.usehead),e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await Gf(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 In=typeof window<"u";function tv(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function Ls(e,t){const n={};for(const r in t){const o=t[r];n[r]=pt(o)?o.map(e):e(o)}return n}const yr=()=>{},pt=Array.isArray,nv=/\/$/,rv=e=>e.replace(nv,"");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=av(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function ov(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function sv(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Kn(t.matched[r],n.matched[o])&&td(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function td(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!iv(e[n],t[n]))return!1;return!0}function iv(e,t){return pt(e)?Qc(e,t):pt(t)?Qc(t,e):e===t}function Qc(e,t){return pt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function av(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 kr;(function(e){e.pop="pop",e.push="push"})(kr||(kr={}));var _r;(function(e){e.back="back",e.forward="forward",e.unknown=""})(_r||(_r={}));function cv(e){if(!e)if(In){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),rv(e)}const lv=/^[^#]+#/;function uv(e,t){return e.replace(lv,"#")+t}function fv(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 ss=()=>({left:window.pageXOffset,top:window.pageYOffset});function dv(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=fv(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 Jc(e,t){return(history.state?history.state.position-t:-1)+e}const vi=new Map;function hv(e,t){vi.set(e,t)}function pv(e){const t=vi.get(e);return vi.delete(e),t}let mv=()=>location.protocol+"//"+location.host;function nd(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),Gc(c,"")}return Gc(n,e)+r+o}function gv(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=nd(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(_=>{_(n.value,m,{delta:y,type:kr.pop,direction:y?y>0?_r.forward:_r.back:_r.unknown})})};function c(){i=n.value}function u(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function l(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:ss()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:c,listen:u,destroy:f}}function Yc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?ss():null}}function yv(e){const{history:t,location:n}=window,r={value:nd(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,u,l){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:mv()+e+c;try{t[l?"replaceState":"pushState"](u,"",d),o.value=u}catch(h){console.error(h),n[l?"replace":"assign"](d)}}function i(c,u){const l=ve({},t.state,Yc(o.value.back,c,o.value.forward,!0),u,{position:o.value.position});s(c,l,!0),r.value=c}function a(c,u){const l=ve({},o.value,t.state,{forward:c,scroll:ss()});s(l.current,l,!0);const f=ve({},Yc(r.value,c,null),{position:l.position+1},u);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function rd(e){e=cv(e);const t=yv(e),n=gv(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:uv.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 _v(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),rd(e)}function vv(e){return typeof e=="string"||e&&typeof e=="object"}function od(e){return typeof e=="string"||typeof e=="symbol"}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},sd=Symbol("");var Zc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Zc||(Zc={}));function Wn(e,t){return ve(new Error,{type:e,[sd]:!0},t)}function St(e,t){return e instanceof Error&&sd in e&&(t==null||!!(e.type&t))}const Xc="[^/]+?",bv={sensitive:!1,strict:!1,start:!0,end:!0},wv=/[.+*?^${}()[\]/\\]/g;function Ev(e,t){const n=ve({},bv,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const l=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Tv(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Sv={type:0,value:""},Pv=/[a-zA-Z0-9_]/;function Av(e){if(!e)return[[]];if(e==="/")return[[Sv]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,u="",l="";function f(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:l,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=c}for(;a{i(v)}:yr}function i(l){if(od(l)){const f=r.get(l);f&&(r.delete(l),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(l);f>-1&&(n.splice(f,1),l.record.name&&r.delete(l.record.name),l.children.forEach(i),l.alias.forEach(i))}}function a(){return n}function c(l){let f=0;for(;f=0&&(l.record.path!==n[f].record.path||!id(l,n[f]));)f++;n.splice(f,0,l),l.record.name&&!nl(l)&&r.set(l.record.name,l)}function u(l,f){let d,h={},m,p;if("name"in l&&l.name){if(d=r.get(l.name),!d)throw Wn(1,{location:l});p=d.record.name,h=ve(tl(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),l.params&&tl(l.params,d.keys.map(v=>v.name))),m=d.stringify(h)}else if("path"in l)m=l.path,d=n.find(v=>v.re.test(m)),d&&(h=d.parse(m),p=d.record.name);else{if(d=f.name?r.get(f.name):n.find(v=>v.re.test(f.path)),!d)throw Wn(1,{location:l,currentLocation:f});p=d.record.name,h=ve({},f.params,l.params),m=d.stringify(h)}const y=[];let _=d;for(;_;)y.unshift(_.record),_=_.parent;return{name:p,path:m,params:h,matched:y,meta:Ov(y)}}return e.forEach(l=>s(l)),{addRoute:s,resolve:u,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function tl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Iv(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Lv(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 Lv(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 nl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ov(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function rl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function id(e,t){return t.children.some(n=>n===e||id(e,n))}const ad=/#/g,kv=/&/g,$v=/\//g,Mv=/=/g,Nv=/\?/g,cd=/\+/g,Dv=/%5B/g,Hv=/%5D/g,ld=/%5E/g,jv=/%60/g,ud=/%7B/g,Fv=/%7C/g,fd=/%7D/g,Vv=/%20/g;function ya(e){return encodeURI(""+e).replace(Fv,"|").replace(Dv,"[").replace(Hv,"]")}function Bv(e){return ya(e).replace(ud,"{").replace(fd,"}").replace(ld,"^")}function bi(e){return ya(e).replace(cd,"%2B").replace(Vv,"+").replace(ad,"%23").replace(kv,"%26").replace(jv,"`").replace(ud,"{").replace(fd,"}").replace(ld,"^")}function zv(e){return bi(e).replace(Mv,"%3D")}function Uv(e){return ya(e).replace(ad,"%23").replace(Nv,"%3F")}function Kv(e){return e==null?"":Uv(e).replace($v,"%2F")}function Mo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Wv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&bi(s)):[r&&bi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function qv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=pt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Gv=Symbol(""),sl=Symbol(""),_a=Symbol(""),va=Symbol(""),wi=Symbol("");function rr(){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 Gt(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(Wn(4,{from:n,to:t})):f instanceof Error?a(f):vv(f)?a(Wn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},u=e.call(r&&r.instances[o],t,n,c);let l=Promise.resolve(u);e.length<3&&(l=l.then(c)),l.catch(f=>a(f))})}function ks(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(Qv(a)){const u=(a.__vccOpts||a)[t];u&&o.push(Gt(u,n,r,s,i))}else{let c=a();o.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const l=tv(u)?u.default:u;s.components[i]=l;const d=(l.__vccOpts||l)[t];return d&&Gt(d,n,r,s,i)()}))}}return o}function Qv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function il(e){const t=He(_a),n=He(va),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:u}=c,l=c[u-1],f=n.matched;if(!l||!f.length)return-1;const d=f.findIndex(Kn.bind(null,l));if(d>-1)return d;const h=al(c[u-2]);return u>1&&al(l)===h&&f[f.length-1].path!==h?f.findIndex(Kn.bind(null,c[u-2])):d}),s=ee(()=>o.value>-1&&Xv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&td(n.params,r.value.params));function a(c={}){return Zv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(yr):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const Jv=xe({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:il,setup(e,{slots:t}){const n=ot(il(e)),{options:r}=He(_a),o=ee(()=>({[cl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[cl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:rt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Yv=Jv;function Zv(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 Xv(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(!pt(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function al(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const cl=(e,t,n)=>e??t??n,e0=xe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=He(wi),o=ee(()=>e.route||r.value),s=He(sl,0),i=ee(()=>{let u=M(s);const{matched:l}=o.value;let f;for(;(f=l[u])&&!f.components;)u++;return u}),a=ee(()=>o.value.matched[i.value]);yn(sl,ee(()=>i.value+1)),yn(Gv,a),yn(wi,o);const c=le();return ge(()=>[c.value,a.value,e.name],([u,l,f],[d,h,m])=>{l&&(l.instances[f]=u,h&&h!==l&&u&&u===d&&(l.leaveGuards.size||(l.leaveGuards=h.leaveGuards),l.updateGuards.size||(l.updateGuards=h.updateGuards))),u&&l&&(!h||!Kn(l,h)||!d)&&(l.enterCallbacks[f]||[]).forEach(p=>p(u))},{flush:"post"}),()=>{const u=o.value,l=e.name,f=a.value,d=f&&f.components[l];if(!d)return ll(n.default,{Component:d,route:u});const h=f.props[l],m=h?h===!0?u.params:typeof h=="function"?h(u):h:null,y=rt(d,ve({},m,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(f.instances[l]=null)},ref:c}));return ll(n.default,{Component:y,route:u})||y}}});function ll(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const dd=e0;function t0(e){const t=Rv(e.routes,e),n=e.parseQuery||Wv,r=e.stringifyQuery||ol,o=e.history,s=rr(),i=rr(),a=rr(),c=Ot(dt);let u=dt;In&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const l=Ls.bind(null,$=>""+$),f=Ls.bind(null,Kv),d=Ls.bind(null,Mo);function h($,Y){let q,X;return od($)?(q=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,q)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function _($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const E=Os(n,$,Y.path),R=t.resolve({path:E.path},Y),N=o.createHref(E.fullPath);return ve(E,R,{params:d(R.params),hash:Mo(E.hash),redirectedFrom:void 0,href:N})}let q;if("path"in $)q=ve({},$,{path:Os(n,$.path,Y.path).path});else{const E=ve({},$.params);for(const R in E)E[R]==null&&delete E[R];q=ve({},$,{params:f(E)}),Y.params=f(Y.params)}const X=t.resolve(q,Y),_e=$.hash||"";X.params=l(d(X.params));const Te=ov(r,ve({},$,{hash:Bv(_e),path:X.path})),b=o.createHref(Te);return ve({fullPath:Te,hash:_e,query:r===ol?qv($.query):$.query||{}},X,{redirectedFrom:void 0,href:b})}function v($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function g($,Y){if(u!==$)return Wn(8,{from:Y,to:$})}function w($){return I($)}function S($){return w(ve(v($),{replace:!0}))}function T($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:q}=Y;let X=typeof q=="function"?q($):q;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=v(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const q=u=_($),X=c.value,_e=$.state,Te=$.force,b=$.replace===!0,E=T(q);if(E)return I(ve(v(E),{state:typeof E=="object"?ve({},_e,E.state):_e,force:Te,replace:b}),Y||q);const R=q;R.redirectedFrom=Y;let N;return!Te&&sv(r,X,q)&&(N=Wn(16,{to:R,from:X}),Oe(X,X,!0,!1)),(N?Promise.resolve(N):x(R,X)).catch(O=>St(O)?St(O,2)?O:Le(O):U(O,R,X)).then(O=>{if(O){if(St(O,2))return I(ve({replace:b},v(O.to),{state:typeof O.to=="object"?ve({},_e,O.to.state):_e,force:Te}),Y||R)}else O=C(R,X,!0,b,_e);return P(R,X,O),O})}function L($,Y){const q=g($,Y);return q?Promise.reject(q):Promise.resolve()}function H($){const Y=st.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function x($,Y){let q;const[X,_e,Te]=n0($,Y);q=ks(X.reverse(),"beforeRouteLeave",$,Y);for(const E of X)E.leaveGuards.forEach(R=>{q.push(Gt(R,$,Y))});const b=L.bind(null,$,Y);return q.push(b),Re(q).then(()=>{q=[];for(const E of s.list())q.push(Gt(E,$,Y));return q.push(b),Re(q)}).then(()=>{q=ks(_e,"beforeRouteUpdate",$,Y);for(const E of _e)E.updateGuards.forEach(R=>{q.push(Gt(R,$,Y))});return q.push(b),Re(q)}).then(()=>{q=[];for(const E of Te)if(E.beforeEnter)if(pt(E.beforeEnter))for(const R of E.beforeEnter)q.push(Gt(R,$,Y));else q.push(Gt(E.beforeEnter,$,Y));return q.push(b),Re(q)}).then(()=>($.matched.forEach(E=>E.enterCallbacks={}),q=ks(Te,"beforeRouteEnter",$,Y),q.push(b),Re(q))).then(()=>{q=[];for(const E of i.list())q.push(Gt(E,$,Y));return q.push(b),Re(q)}).catch(E=>St(E,8)?E:Promise.reject(E))}function P($,Y,q){a.list().forEach(X=>H(()=>X($,Y,q)))}function C($,Y,q,X,_e){const Te=g($,Y);if(Te)return Te;const b=Y===dt,E=In?history.state:{};q&&(X||b?o.replace($.fullPath,ve({scroll:b&&E&&E.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Oe($,Y,q,b),Le()}let A;function V(){A||(A=o.listen(($,Y,q)=>{if(!gt.listening)return;const X=_($),_e=T(X);if(_e){I(ve(_e,{replace:!0}),X).catch(yr);return}u=X;const Te=c.value;In&&hv(Jc(Te.fullPath,q.delta),ss()),x(X,Te).catch(b=>St(b,12)?b:St(b,2)?(I(b.to,X).then(E=>{St(E,20)&&!q.delta&&q.type===kr.pop&&o.go(-1,!1)}).catch(yr),Promise.reject()):(q.delta&&o.go(-q.delta,!1),U(b,X,Te))).then(b=>{b=b||C(X,Te,!1),b&&(q.delta&&!St(b,8)?o.go(-q.delta,!1):q.type===kr.pop&&St(b,20)&&o.go(-1,!1)),P(X,Te,b)}).catch(yr)}))}let J=rr(),F=rr(),Q;function U($,Y,q){Le($);const X=F.list();return X.length?X.forEach(_e=>_e($,Y,q)):console.error($),Promise.reject($)}function he(){return Q&&c.value!==dt?Promise.resolve():new Promise(($,Y)=>{J.add([$,Y])})}function Le($){return Q||(Q=!$,V(),J.list().forEach(([Y,q])=>$?q($):Y()),J.reset()),$}function Oe($,Y,q,X){const{scrollBehavior:_e}=e;if(!In||!_e)return Promise.resolve();const Te=!q&&pv(Jc($.fullPath,0))||(X||!q)&&history.state&&history.state.scroll||null;return Ct().then(()=>_e($,Y,Te)).then(b=>b&&dv(b)).catch(b=>U(b,$,Y))}const we=$=>o.go($);let Ue;const st=new Set,gt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:_,options:e,push:w,replace:S,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:he,install($){const Y=this;$.component("RouterLink",Yv),$.component("RouterView",dd),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),In&&!Ue&&c.value===dt&&(Ue=!0,w(o.location).catch(_e=>{}));const q={};for(const _e in dt)Object.defineProperty(q,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(_a,Y),$.provide(va,Yt(q)),$.provide(wi,c);const X=$.unmount;st.add($),$.unmount=function(){st.delete($),st.size<1&&(u=dt,A&&A(),A=null,c.value=dt,Ue=!1,Q=!1),X()}}};function Re($){return $.reduce((Y,q)=>Y.then(()=>H(q)),Promise.resolve())}return gt}function n0(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iKn(u,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(u=>Kn(u,c))||o.push(c))}return[n,r,o]}function RP(){return He(va)}const r0=(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())||""}),Ei=(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&&r0(e.route,n));return typeof r=="function"?r(e.route):r},o0=(e,t)=>({default:()=>e?rt(zp,e===!0?{}:e,t):t});function ba(e){return Array.isArray(e)?e:[e]}const $s=null,ul=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:$s==null?void 0:$s.redirect,component:()=>k(()=>import("./document-driven.t9ahBX4B.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(e=>e.default||e)}],s0=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?rt(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function fl(e){const t=(e==null?void 0:e.meta.key)??e.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())||""});return typeof t=="function"?t(e):t}function i0(e,t){return e===t||t===dt?!1:fl(e)!==fl(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const a0={scrollBehavior(e,t,n){var u;const r=ye(),o=((u=Ye().options)==null?void 0:u.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&&i0(e,t)&&(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:dl(e.hash),behavior:o}}const a=l=>!!(l.meta.pageTransition??_i),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(l=>{r.hooks.hookOnce(c,async()=>{await Ct(),e.hash&&(s={el:e.hash,top:dl(e.hash),behavior:o}),l(s)})})}};function dl(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const c0={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}}}},l0={hashMode:!1,scrollBehaviorType:"auto"},Xe={...l0,...a0,...c0},u0=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ye(),o=Ye();if(([t,n]=Lr(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=Br({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),a=o.beforeResolve(u=>{if(a(),u===e){const l=o.afterEach(async()=>{l(),await r.runWithContext(()=>On(i)),window.history.pushState({},"",e.fullPath)});return!1}})},f0=async e=>{let t,n;const r=([t,n]=Lr(()=>Zf(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},d0=[u0,f0],vr={};function h0(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const u=s.includes(e.slice(i))?e.slice(i).length:1;let l=s.slice(u);return l[0]!=="/"&&(l="/"+l),Rc(l,"")}const a=Rc(r,e),c=!n||xg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const p0=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=Je().app.baseURL;Xe.hashMode&&!r.includes("#")&&(r+="#");const o=((p=Xe.history)==null?void 0:p.call(Xe,r))??(Xe.hashMode?_v(r):rd(r)),s=((y=Xe.routes)==null?void 0:y.call(Xe,ul))??ul;let i;const a=h0(r,window.location,e.payload.path),c=t0({...Xe,scrollBehavior:(_,v,g)=>{if(v===dt){i=g;return}if(Xe.scrollBehavior){if(c.options.scrollBehavior=Xe.scrollBehavior,"scrollRestoration"in window.history){const w=c.beforeEach(()=>{w(),window.history.scrollRestoration="manual"})}return Xe.scrollBehavior(_,dt,i||g)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(c);const u=Ot(c.currentRoute.value);c.afterEach((_,v)=>{u.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>u.value});const l=Ot(c.resolve(a)),f=()=>{l.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((_,v)=>{var g,w,S,T;((w=(g=_.matched[0])==null?void 0:g.components)==null?void 0:w.default)===((T=(S=v.matched[0])==null?void 0:S.components)==null?void 0:T.default)&&f()});const d={};for(const _ in l.value)Object.defineProperty(d,_,{get:()=>l.value[_]});e._route=Yt(d),e._middleware=e._middleware||{global:[],named:{}};const h=rs();try{[t,n]=Lr(()=>c.isReady()),await t,n()}catch(_){[t,n]=Lr(()=>e.runWithContext(()=>On(_))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(_,v)=>{var g;await e.callHook("page:loading:start"),_.meta=ot(_.meta),e.isHydrating&&m&&!_n(_.meta.layout)&&(_.meta.layout=m),e._processingMiddleware=!0;{const w=new Set([...d0,...e._middleware.global]);for(const S of _.matched){const T=S.meta.middleware;if(T)for(const I of ba(T))w.add(I)}for(const S of w){const T=typeof S=="string"?e._middleware.named[S]||await((g=vr[S])==null?void 0:g.call(vr).then(L=>L.default||L)):S;if(!T)throw new Error(`Unknown route middleware: '${S}'.`);const I=await e.runWithContext(()=>T(_,v));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const L=I||pi({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>On(L)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),c.afterEach(async(_,v,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(Vy),g&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>On(pi({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=Xe.scrollBehavior}catch(_){await e.runWithContext(()=>On(_))}}),{provide:{router:c}}}}),Ci=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),m0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),is=e=>{const t=ye();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Ci(e)}):Ci(e)},g0=Be({name:"nuxt:payload",setup(e){Ye().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Kc(t.path);r&&Object.assign(e.static.data,r.data)}),is(()=>{var t;e.hooks.hook("link:prefetch",async n=>{Vr(n).protocol||await Kc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(os,1e3)})}}),y0=Be(e=>{let t;async function n(){const r=await os();t&&clearTimeout(t),t=setTimeout(n,1e3*60*60);const o=await $fetch(ha("builds/latest.json"));o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}is(()=>{t=setTimeout(n,1e3*60*60)})}),_0=D(()=>k(()=>import("./ChallengeV2Demo.LFV0Ar_7.js"),__vite__mapDeps([8,9,10,11,12]),import.meta.url).then(e=>e.default)),v0=D(()=>k(()=>import("./ChallengeV3Demo.dKwUJk70.js"),__vite__mapDeps([13,9,14,12]),import.meta.url).then(e=>e.default)),b0=D(()=>k(()=>import("./CheckboxDemo.DmkwCS_v.js"),__vite__mapDeps([15,16,17,11,12]),import.meta.url).then(e=>e.default)),w0=D(()=>k(()=>import("./IndexDemo.45z5wsSn.js"),__vite__mapDeps([18,19,20]),import.meta.url).then(e=>e.default)),E0=D(()=>k(()=>import("./Mermaid.qwe_za49.js"),__vite__mapDeps([21,22,23]),import.meta.url).then(e=>e.default)),C0=D(()=>k(()=>import("./PrimaryButton.LSQnk0sG.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),T0=D(()=>k(()=>import("./ThemeButton.KLzrACF9.js"),__vite__mapDeps([24,16]),import.meta.url).then(e=>e.default)),S0=D(()=>k(()=>import("./VeeValidateCheckbox.lGiET7FK.js"),__vite__mapDeps([25,17,11,12,9,26,23]),import.meta.url).then(e=>e.default)),P0=D(()=>k(()=>import("./VeeValidateInvisible.cMWFaZlN.js"),__vite__mapDeps([27,9,10,11,12,26,23]),import.meta.url).then(e=>e.default)),A0=D(()=>k(()=>Promise.resolve().then(()=>YC),void 0,import.meta.url).then(e=>e.default)),x0=D(()=>k(()=>Promise.resolve().then(()=>gP),void 0,import.meta.url).then(e=>e.default)),R0=D(()=>k(()=>Promise.resolve().then(()=>cP),void 0,import.meta.url).then(e=>e.default)),I0=D(()=>k(()=>Promise.resolve().then(()=>LC),void 0,import.meta.url).then(e=>e.default)),L0=D(()=>k(()=>Promise.resolve().then(()=>zC),void 0,import.meta.url).then(e=>e.default)),O0=D(()=>k(()=>Promise.resolve().then(()=>WC),void 0,import.meta.url).then(e=>e.default)),k0=D(()=>k(()=>Promise.resolve().then(()=>bP),void 0,import.meta.url).then(e=>e.default)),$0=D(()=>k(()=>Promise.resolve().then(()=>dE),void 0,import.meta.url).then(e=>e.default)),M0=D(()=>k(()=>Promise.resolve().then(()=>GS),void 0,import.meta.url).then(e=>e.default)),N0=D(()=>k(()=>Promise.resolve().then(()=>wC),void 0,import.meta.url).then(e=>e.default)),D0=D(()=>k(()=>import("./DocumentDrivenNotFound.-yF2pn-z.js"),__vite__mapDeps([4,5,6,7]),import.meta.url).then(e=>e.default)),H0=D(()=>k(()=>import("./Ellipsis.UJCrcBeT.js"),__vite__mapDeps([28,29]),import.meta.url).then(e=>e.default)),j0=D(()=>k(()=>Promise.resolve().then(()=>DC),void 0,import.meta.url).then(e=>e.default)),F0=D(()=>k(()=>Promise.resolve().then(()=>eP),void 0,import.meta.url).then(e=>e.default)),V0=D(()=>k(()=>import("./DocsAside.gNXJa-Bf.js"),__vite__mapDeps([30,31]),import.meta.url).then(e=>e.default)),B0=D(()=>k(()=>Promise.resolve().then(()=>AC),void 0,import.meta.url).then(e=>e.default)),z0=D(()=>k(()=>import("./DocsPageBottom.lBgf0KZa.js"),__vite__mapDeps([32,33,34,35,36]),import.meta.url).then(e=>e.default)),U0=D(()=>k(()=>import("./DocsPageLayout.oVaLCwTp.js"),__vite__mapDeps([37,30,31,38,39,32,33,34,35,36,40,41,42,43,44,45,46]),import.meta.url).then(e=>e.default)),K0=D(()=>k(()=>import("./DocsPrevNext.Pin13daV.js"),__vite__mapDeps([40,41]),import.meta.url).then(e=>e.default)),W0=D(()=>k(()=>import("./DocsToc.Rer6PIHw.js"),__vite__mapDeps([42,43,44,45]),import.meta.url).then(e=>e.default)),q0=D(()=>k(()=>import("./DocsTocLinks.KwT3TIqY.js"),__vite__mapDeps([43,44]),import.meta.url).then(e=>e.default)),G0=D(()=>k(()=>import("./EditOnLink.Fqrz7wh7.js"),__vite__mapDeps([47,35]),import.meta.url).then(e=>e.default)),Q0=D(()=>k(()=>import("./SourceLink.zrd0rF8v.js"),__vite__mapDeps([48,49,50]),import.meta.url).then(e=>e.default)),J0=D(()=>k(()=>import("./ProseA.gJO5IhDn.js"),__vite__mapDeps([33,34]),import.meta.url).then(e=>e.default)),Y0=D(()=>k(()=>import("./ProseBlockquote._x2T5GSs.js"),__vite__mapDeps([51,52]),import.meta.url).then(e=>e.default)),Z0=D(()=>k(()=>import("./ProseCode.oeUt39ck.js"),__vite__mapDeps([53,54]),import.meta.url).then(e=>e.default)),X0=D(()=>k(()=>import("./ProseCodeInline.kD_4UGIu.js"),__vite__mapDeps([38,39]),import.meta.url).then(e=>e.default)),eb=D(()=>k(()=>import("./ProseEm.F6z8uwGD.js"),__vite__mapDeps([55,56]),import.meta.url).then(e=>e.default)),tb=D(()=>k(()=>import("./ProseH1.ObL5W-EZ.js"),__vite__mapDeps([57,58]),import.meta.url).then(e=>e.default)),nb=D(()=>k(()=>import("./ProseH2.-9Ew53W_.js"),__vite__mapDeps([59,60]),import.meta.url).then(e=>e.default)),rb=D(()=>k(()=>import("./ProseH3.bcbsC7K5.js"),__vite__mapDeps([61,62]),import.meta.url).then(e=>e.default)),ob=D(()=>k(()=>import("./ProseH4.8hu1lHgz.js"),__vite__mapDeps([63,64]),import.meta.url).then(e=>e.default)),sb=D(()=>k(()=>import("./ProseH5.lNRH0NeP.js"),__vite__mapDeps([65,66]),import.meta.url).then(e=>e.default)),ib=D(()=>k(()=>import("./ProseH6.TjN22uhv.js"),__vite__mapDeps([67,68]),import.meta.url).then(e=>e.default)),ab=D(()=>k(()=>import("./ProseHr.RGwhFeUE.js"),__vite__mapDeps([69,70]),import.meta.url).then(e=>e.default)),cb=D(()=>k(()=>import("./ProseImg.hK0AkCYv.js"),__vite__mapDeps([71,72]),import.meta.url).then(e=>e.default)),lb=D(()=>k(()=>import("./ProseLi.Nd-cfAUt.js"),__vite__mapDeps([73,74]),import.meta.url).then(e=>e.default)),ub=D(()=>k(()=>import("./ProseOl.WiRv2RPt.js"),__vite__mapDeps([75,76]),import.meta.url).then(e=>e.default)),fb=D(()=>k(()=>import("./ProseP.WWHl5OCQ.js"),__vite__mapDeps([49,50]),import.meta.url).then(e=>e.default)),db=D(()=>k(()=>import("./ProseStrong.MOzHJa_4.js"),__vite__mapDeps([77,78]),import.meta.url).then(e=>e.default)),hb=D(()=>k(()=>import("./ProseTable.vBeITk7D.js"),__vite__mapDeps([79,80]),import.meta.url).then(e=>e.default)),pb=D(()=>k(()=>import("./ProseTbody.zyB_RR9Q.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),mb=D(()=>k(()=>import("./ProseTd.G4s628Gm.js"),__vite__mapDeps([81,82]),import.meta.url).then(e=>e.default)),gb=D(()=>k(()=>import("./ProseTh.HjKCkJiu.js"),__vite__mapDeps([83,84]),import.meta.url).then(e=>e.default)),yb=D(()=>k(()=>import("./ProseThead.tCJk5qKt.js"),__vite__mapDeps([85,86]),import.meta.url).then(e=>e.default)),_b=D(()=>k(()=>import("./ProseTr.EapMfHL9.js"),__vite__mapDeps([87,88]),import.meta.url).then(e=>e.default)),vb=D(()=>k(()=>import("./ProseUl.AJzxAvif.js"),__vite__mapDeps([89,90]),import.meta.url).then(e=>e.default)),bb=D(()=>k(()=>Promise.resolve().then(()=>sE),void 0,import.meta.url).then(e=>e.default)),wb=D(()=>k(()=>import("./Badge.Bq0zZl56.js"),__vite__mapDeps([91,92]),import.meta.url).then(e=>e.default)),Eb=D(()=>k(()=>import("./ButtonLink.w20vZM51.js"),__vite__mapDeps([5,6]),import.meta.url).then(e=>e.default)),Cb=D(()=>k(()=>import("./Callout.msAswQ_R.js"),__vite__mapDeps([93,94]),import.meta.url).then(e=>e.default)),Tb=D(()=>k(()=>import("./CodeBlock.P1Dwa4-i.js"),__vite__mapDeps([95,96]),import.meta.url).then(e=>e.default)),Sb=D(()=>k(()=>import("./CodeGroup.TfR_eiZQ.js"),__vite__mapDeps([97,98,99,100]),import.meta.url).then(e=>e.default)),Pb=D(()=>k(()=>Promise.resolve().then(()=>nP),void 0,import.meta.url).then(e=>e.default)),Ab=D(()=>k(()=>import("./CopyButton.bRE_TWd1.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),xb=D(()=>k(()=>import("./List.7pu2wkfy.js"),__vite__mapDeps([101,102,103]),import.meta.url).then(e=>e.default)),Rb=D(()=>k(()=>import("./NuxtImg.uWtvOG7g.js"),__vite__mapDeps([104,105]),import.meta.url).then(e=>e.default)),Ib=D(()=>k(()=>import("./Props.4h5-vo62.js"),__vite__mapDeps([106,83,84,87,88,85,86,38,39,81,82,107,79,80]),import.meta.url).then(e=>e.default)),Lb=D(()=>k(()=>import("./Sandbox.LEbq7B6x.js"),__vite__mapDeps([108,98,99,109]),import.meta.url).then(e=>e.default)),Ob=D(()=>k(()=>import("./TabsHeader.bMrSb2ui.js"),__vite__mapDeps([98,99]),import.meta.url).then(e=>e.default)),kb=D(()=>k(()=>import("./Terminal.fi-D3Y7p.js"),__vite__mapDeps([110,111]),import.meta.url).then(e=>e.default)),$b=D(()=>k(()=>import("./VideoPlayer.Ys8XZz6o.js"),__vite__mapDeps([112,105,113]),import.meta.url).then(e=>e.default)),Mb=D(()=>k(()=>import("./IconCodeSandBox.i6qvDP61.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Nb=D(()=>k(()=>import("./IconDocus.K5oX3zLO.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Db=D(()=>k(()=>import("./IconNuxt.zpO48gIf.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Hb=D(()=>k(()=>import("./IconNuxtContent.zpO48gIf.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),jb=D(()=>k(()=>import("./IconNuxtLabs.BwKS42Pl.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Fb=D(()=>k(()=>import("./IconNuxtStudio.yO30aaIz.js"),__vite__mapDeps([114,115]),import.meta.url).then(e=>e.default)),Vb=D(()=>k(()=>import("./IconStackBlitz.ZhEvxl29.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Bb=D(()=>k(()=>import("./IconVueTelescope.DJjVRNOA.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),zb=D(()=>k(()=>import("./BlockHero.zWmlewkQ.js"),__vite__mapDeps([116,5,6,110,111,112,105,113,117]),import.meta.url).then(e=>e.default)),Ub=D(()=>k(()=>import("./Card.5bUrWpaH.js"),__vite__mapDeps([19,20]),import.meta.url).then(e=>e.default)),Kb=D(()=>k(()=>import("./CardGrid.0WF2Q5kb.js"),__vite__mapDeps([118,119]),import.meta.url).then(e=>e.default)),Wb=D(()=>k(()=>import("./VoltaBoard.tukDOokH.js"),__vite__mapDeps([120,121]),import.meta.url).then(e=>e.default)),qb=D(()=>k(()=>import("./ComponentPlayground.6Gam0-wI.js"),__vite__mapDeps([122,123,98,99,124,63,64,38,39,91,92,49,50,125,126,127,128,129]),import.meta.url).then(e=>e.default)),Gb=D(()=>k(()=>import("./ComponentPlaygroundData.6AbGJ9mV.js"),__vite__mapDeps([123,98,99,124,63,64,38,39,91,92,49,50,125,126,127,128]),import.meta.url).then(e=>e.default)),Qb=D(()=>k(()=>import("./ComponentPlaygroundProps.Y4cDKaF3.js"),__vite__mapDeps([124,63,64,38,39,91,92,49,50,125]),import.meta.url).then(e=>e.default)),Jb=D(()=>k(()=>import("./ComponentPlaygroundSlots.NgGOSdxM.js"),__vite__mapDeps([130,126]),import.meta.url).then(e=>e.default)),Yb=D(()=>k(()=>import("./ComponentPlaygroundTokens.3U_NfJtG.js"),__vite__mapDeps([131,127]),import.meta.url).then(e=>e.default)),Zb=D(()=>k(()=>import("./PreviewLayout.qMmReYHO.js"),__vite__mapDeps([132,133]),import.meta.url).then(e=>e.default)),Xb=D(()=>k(()=>import("./TokensPlayground.YH0uB0VN.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),e1=D(()=>k(()=>import("./ContentDoc.zKgHGiDN.js"),__vite__mapDeps([134,2,3,135]),import.meta.url).then(e=>e.default)),t1=D(()=>k(()=>import("./ContentList.82B4DZ2X.js"),__vite__mapDeps([136,135]),import.meta.url).then(e=>e.default)),n1=D(()=>k(()=>import("./ContentNavigation.N2krgy4q.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),r1=D(()=>k(()=>import("./ContentQuery.NB3OFZ9d.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),o1=D(()=>k(()=>import("./ContentRenderer.VKSxfKNo.js"),__vite__mapDeps([2,3]),import.meta.url).then(e=>e.default)),s1=D(()=>k(()=>import("./ContentRendererMarkdown.qrNK7OQe.js"),__vite__mapDeps([137,3]),import.meta.url).then(e=>e.default)),i1=D(()=>k(()=>import("./ContentSlot.hwWIYXww.js"),__vite__mapDeps([138,102]),import.meta.url).then(e=>e.default)),a1=D(()=>k(()=>import("./DocumentDrivenEmpty.HXWh7bUT.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),c1=D(()=>k(()=>import("./Markdown.pCr_z0ZL.js"),__vite__mapDeps([139,138,102]),import.meta.url).then(e=>e.default)),l1=D(()=>k(()=>import("./ProsePre.7hQDwLAv.js"),__vite__mapDeps([140,53,54,141]),import.meta.url).then(e=>e.default)),u1=D(()=>k(()=>import("./Checkbox.foA5H_JL.js"),__vite__mapDeps([142,17,11,12]),import.meta.url).then(e=>e.default)),f1=D(()=>k(()=>import("./ChallengeV2.ZklYnzhU.js"),__vite__mapDeps([143,10,11,12]),import.meta.url).then(e=>e.default)),d1=D(()=>k(()=>import("./ChallengeV3.LfYmqI11.js"),__vite__mapDeps([144,14,12]),import.meta.url).then(e=>e.default)),h1=D(()=>k(()=>Promise.resolve().then(()=>vC),void 0,import.meta.url).then(e=>e.default)),p1=D(()=>k(()=>import("./IconCSS.qbvIwZtu.js"),__vite__mapDeps([145,146]),import.meta.url).then(e=>e.default)),m1=[["ChallengeV2Demo",_0],["ChallengeV3Demo",v0],["CheckboxDemo",b0],["IndexDemo",w0],["Mermaid",E0],["PrimaryButton",C0],["ThemeButton",T0],["VeeValidateCheckbox",S0],["VeeValidateInvisible",P0],["AppDocSearch",A0],["AppFooter",x0],["AppHeader",R0],["AppHeaderDialog",I0],["AppHeaderLogo",L0],["AppHeaderNavigation",O0],["AppLayout",k0],["AppLoadingBar",$0],["AppSearch",M0],["AppSocialIcons",N0],["DocumentDrivenNotFound",D0],["Ellipsis",H0],["Logo",j0],["ThemeSelect",F0],["DocsAside",V0],["DocsAsideTree",B0],["DocsPageBottom",z0],["DocsPageLayout",U0],["DocsPrevNext",K0],["DocsToc",W0],["DocsTocLinks",q0],["EditOnLink",G0],["SourceLink",Q0],["ProseA",J0],["ProseBlockquote",Y0],["ProseCode",Z0],["ProseCodeInline",X0],["ProseEm",eb],["ProseH1",tb],["ProseH2",nb],["ProseH3",rb],["ProseH4",ob],["ProseH5",sb],["ProseH6",ib],["ProseHr",ab],["ProseImg",cb],["ProseLi",lb],["ProseOl",ub],["ProseP",fb],["ProseStrong",db],["ProseTable",hb],["ProseTbody",pb],["ProseTd",mb],["ProseTh",gb],["ProseThead",yb],["ProseTr",_b],["ProseUl",vb],["Alert",bb],["Badge",wb],["ButtonLink",Eb],["Callout",Cb],["CodeBlock",Tb],["CodeGroup",Sb],["Container",Pb],["CopyButton",Ab],["List",xb],["NuxtImg",Rb],["Props",Ib],["Sandbox",Lb],["TabsHeader",Ob],["Terminal",kb],["VideoPlayer",$b],["IconCodeSandBox",Mb],["IconDocus",Nb],["IconNuxt",Db],["IconNuxtContent",Hb],["IconNuxtLabs",jb],["IconNuxtStudio",Fb],["IconStackBlitz",Vb],["IconVueTelescope",Bb],["BlockHero",zb],["Card",Ub],["CardGrid",Kb],["VoltaBoard",Wb],["ComponentPlayground",qb],["ComponentPlaygroundData",Gb],["ComponentPlaygroundProps",Qb],["ComponentPlaygroundSlots",Jb],["ComponentPlaygroundTokens",Yb],["PreviewLayout",Zb],["TokensPlayground",Xb],["ContentDoc",e1],["ContentList",t1],["ContentNavigation",n1],["ContentQuery",r1],["ContentRenderer",o1],["ContentRendererMarkdown",s1],["MDCSlot",i1],["DocumentDrivenEmpty",a1],["Markdown",c1],["ProsePre",l1],["RecaptchaCheckbox",u1],["RecaptchaChallengeV2",f1],["RecaptchaChallengeV3",d1],["Icon",h1],["IconCSS",p1]],g1=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of m1)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),lr={default:()=>k(()=>import("./default.dDhX4ymO.js"),__vite__mapDeps([147,37,30,31,38,39,32,33,34,35,36,40,41,42,43,44,45,46,22,23]),import.meta.url).then(e=>e.default||e),page:()=>k(()=>import("./page.kItSCnbi.js"),__vite__mapDeps([148,149]),import.meta.url).then(e=>e.default||e)},y1=Be({name:"nuxt:prefetch",setup(e){const t=Ye();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 lr[r]=="function"&&await lr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=ba(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof vr[i]=="function"&&vr[i]();o&&typeof lr[o]=="function"&&lr[o]()})}}),_1=["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"],v1=/\d/,b1=["-","_","/","."];function w1(e=""){if(!v1.test(e))return e!==e.toLowerCase()}function hd(e,t){const n=t??b1,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 u=w1(a);if(i===!1){if(s===!1&&u===!0){r.push(o),o=a,s=u;continue}if(s===!0&&u===!1&&o.length>1){const l=o.at(-1);r.push(o.slice(0,Math.max(0,o.length-1))),o=l+a,s=u;continue}}o+=a,s=u,i=c}return r.push(o),r}function E1(e){return e?e[0].toUpperCase()+e.slice(1):""}function C1(e,t){return e?(Array.isArray(e)?e:hd(e)).map(n=>E1(t!=null&&t.normalize?n.toLowerCase():n)).join(""):""}function Ti(e,t){return e?(Array.isArray(e)?e:hd(e)).map(n=>n.toLowerCase()).join(t??"-"):""}function pd(e){return Array.isArray(e)?e:[e]}const T1=e=>e==="defer"||e===!1;function S1(...e){var m;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=ye(),i=r,a=()=>null,c=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??a,o.getCachedData=o.getCachedData??c,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??K_.deep,o.dedupe=o.dedupe??"cancel";const u=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(m=s.payload._errors)[n]??(m[n]=null);const p=o.deep?le:Ot;s._asyncData[n]={data:p(o.getCachedData(n)??o.default()),pending:le(!u()),error:ta(s.payload._errors,n),status:le("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(p={})=>{if(s._asyncDataPromises[n]){if(T1(p.dedupe??o.dedupe))return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((p._initial||s.isHydrating&&p._initial!==!1)&&u())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const y=new Promise((_,v)=>{try{_(i(s))}catch(g){v(g)}}).then(_=>{if(y.cancelled)return s._asyncDataPromises[n];let v=_;o.transform&&(v=o.transform(_)),o.pick&&(v=A1(v,o.pick)),s.payload.data[n]=v,l.data.value=v,l.error.value=null,l.status.value="success"}).catch(_=>{if(y.cancelled)return s._asyncDataPromises[n];l.error.value=Br(_),l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{y.cancelled||(l.pending.value=!1,delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=y,s._asyncDataPromises[n]};const f=()=>l.refresh({_initial:!0}),d=o.server!==!1&&s.payload.serverRendered;{const p=mt();if(p&&!p._nuxtOnBeforeMountCbs){p._nuxtOnBeforeMountCbs=[];const _=p._nuxtOnBeforeMountCbs;p&&(Gu(()=>{_.forEach(v=>{v()}),_.splice(0,_.length)}),Pr(()=>_.splice(0,_.length)))}d&&s.isHydrating&&(l.error.value||u())?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):p&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?p._nuxtOnBeforeMountCbs.push(f):o.immediate&&f(),o.watch&&ge(o.watch,()=>l.refresh());const y=s.hook("app:data:refresh",async _=>{(!_||_.includes(n))&&await l.refresh()});p&&Pr(y)}const h=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(h,l),h}function P1(...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 S1(n,r,{...o,lazy:!0},null)}async function IP(e){await new Promise(n=>is(n));const t=e?pd(e):void 0;await ye().hooks.callHookParallel("app:data:refresh",t)}function A1(e,t){const n={};for(const r of t)n[r]=e[r];return n}const x1="$s";function It(...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=x1+n,s=ye(),i=ta(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Me(a))return s.payload.state[o]=a,a;i.value=a}return i}const R1={path:"/",watch:!0,decode:e=>Ir(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function ho(e,t){var c;const n={...R1,...t},r=hl(n)||{};let o;n.maxAge!==void 0?o=n.maxAge*1e3:n.expires&&(o=n.expires.getTime()-Date.now());const s=o!==void 0&&o<=0,i=_t(s?void 0:r[e]??((c=n.default)==null?void 0:c.call(n))),a=o&&!s?O1(i,o):le(i);{const u=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),l=()=>{n.readonly||Ry(a.value,r[e])||(L1(e,a.value,n),r[e]=_t(a.value),u==null||u.postMessage(n.encode(a.value)))},f=h=>{var p;const m=h.refresh?(p=hl(n))==null?void 0:p[e]:n.decode(h.value);d=!0,r[e]=a.value=m,Ct(()=>{d=!1})};let d=!1;Hr()&&Cn(()=>{d=!0,l(),u==null||u.close()}),u&&(u.onmessage=({data:h})=>f(h)),n.watch?ge(a,()=>{d||l()},{deep:n.watch!=="shallow"}):l()}return a}function hl(e={}){return hy(document.cookie,e)}function I1(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function L1(e,t,n={}){document.cookie=I1(e,t,n)}const pl=2147483647;function O1(e,t){let n,r=0;return Hr()&&Cn(()=>{clearTimeout(n)}),mp((o,s)=>{function i(){clearTimeout(n);const a=t-r,c=a{if(r+=c,r{const t=ye();e=pd(e),await Promise.all(e.map(n=>M1(t.vueApp._context.components[n])))},$1=e=>k1(e);function M1(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function md(e,t=Ye()){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(()=>md(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 N1(e={}){const t=e.path||window.location.pathname;let n={};try{n=Ir(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.value=!0}),yn(D1,!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)}}}),j1=(...e)=>e.find(t=>t!==void 0),F1="noopener noreferrer";function V1(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;if(typeof r=="string")return ml(r,e.trailingSlash);const s="path"in r?r.path:o(r).path;return{...r,name:void 0,path:ml(s,e.trailingSlash)}};return xe({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=Ye(),i=Je(),a=ee(()=>{const h=r.to||r.href||"";return n(h,s.resolve)}),c=ee(()=>typeof a.value=="string"&&Mt(a.value,{acceptRelative:!0})),u=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof a.value=="object"?!1:a.value===""||c.value),l=le(!1),f=le(null),d=h=>{var m;f.value=r.custom?(m=h==null?void 0:h.$el)==null?void 0:m.nextElementSibling:h==null?void 0:h.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!z1()){const m=ye();let p,y=null;Tt(()=>{const _=B1();is(()=>{p=Ci(()=>{var v;(v=f==null?void 0:f.value)!=null&&v.tagName&&(y=_.observe(f.value,async()=>{y==null||y(),y=null;const g=typeof a.value=="string"?a.value:s.resolve(a.value).fullPath;await Promise.all([m.hooks.callHook("link:prefetch",g).catch(()=>{}),!u.value&&md(a.value,s).catch(()=>{})]),l.value=!0}))})})}),Yn(()=>{p&&m0(p),y==null||y(),y=null})}return()=>{var _,v;if(!u.value){const g={ref:d,to:a.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(l.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel),rt(Ap("RouterLink"),g,o.default)}const h=typeof a.value=="object"?((_=s.resolve(a.value))==null?void 0:_.href)??null:a.value&&!r.external&&!c.value?n(Pn(i.app.baseURL,a.value),s.resolve):a.value||null,m=r.target||null,p=r.noRel?null:j1(r.rel,e.externalRelAttribute,h?F1:"")||null,y=()=>Bf(h,{replace:r.replace});return r.custom?o.default?o.default({href:h,navigate:y,get route(){if(!h)return;const g=Vr(h);return{path:g.pathname,fullPath:g.pathname,get query(){return Pf(g.search)},hash:g.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:h}},rel:p,target:m,isExternal:u.value,isActive:!1,isExactActive:!1}):null:rt("a",{ref:f,href:h,rel:p,target:m},(v=o.default)==null?void 0:v.call(o))}}})}const zr=V1(U_);function ml(e,t){const n=t==="append"?Ro:tn;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function B1(){const e=ye();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 u=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&u&&u()}})),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 z1(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Ln=()=>{const e=It("dd-pages",()=>Ot(Yt({}))),t=It("dd-surrounds",()=>Ot(Yt({}))),n=It("dd-navigation"),r=It("dd-globals",()=>Ot(Yt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Ur=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Ln(),o=ee(()=>tn(ut().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}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),l=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:u,toc:a,type:c,layout:l,next:f,prev:d}},gd=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=gd(t);if(n)return n}},yd=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=yd(e,n.children);if(r)return r}}},_d=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=_d(e,n.children);if(r)return r}}},U1=(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},wa=()=>({navBottomLink:gd,navDirFromPath:yd,navPageFromPath:_d,navKeyFromPath:U1});function Ea(e){return JSON.stringify(e,K1)}function K1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const vd=e=>{let t=Ea(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("/")},Ca=()=>({isEnabled:()=>{const r=ut().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||ho("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>ho("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{ho("previewToken").value=r,ut().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),No=e=>Af(e,Je().public.content.api.baseURL),bd=()=>{const{experimental:e}=Je().public.content;return e.clientDB?!0:Ca().isEnabled()},gl=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),Ta=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),LP=e=>t=>e&&e.length?Ta(t,n=>!e.includes(n)):t,OP=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),wd=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},kP=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=wd(e);return Ta(t,o=>!r.includes(o)&&!n.includes(o[0]))},$P=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=wd(e);return Ta(t,o=>r.includes(o)||n.includes(o[0]))},MP=(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=[gl(s,o),gl(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},NP=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Pt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],W1=["sort","where","only","without"];function q1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=W1.includes(i)?Pt(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:[...Pt(n.where)]}:{},...n.sort?{sort:[...Pt(n.sort)]}:{}}),only:r("only",Pt),without:r("without",Pt),where:r("where",i=>[...Pt(n.where),...Pt(i)]),sort:r("sort",i=>[...Pt(n.sort),...Pt(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 G1=()=>async e=>{const{content:t}=Je().public,n=e.params(),r=t.experimental.stripQueryParameters?No(`/query/${`${Oo(n)}.${t.integrity}`}/${vd(n)}.json`):No(`/query/${Oo(n)}.${t.integrity}.json`);if(bd())return(await k(()=>import("./client-db.vOAFLTFq.js"),__vite__mapDeps([150,23]),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:Ea(n),previewToken:Ca().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function po(e,...t){const{content:n}=Je().public,r=q1(G1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=ci(Pn(e,...t)));const s=r.params;return r.params=()=>{var a,c,u;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:tn(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&&((u=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&u._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const Q1=async e=>{const{content:t}=Je().public;typeof(e==null?void 0:e.params)!="function"&&(e=po(e));const n=e.params(),r=t.experimental.stripQueryParameters?No(`/navigation/${`${Oo(n)}.${t.integrity}`}/${vd(n)}.json`):No(`/navigation/${Oo(n)}.${t.integrity}.json`);if(bd())return(await k(()=>import("./client-db.vOAFLTFq.js"),__vite__mapDeps([150,23]),import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:Ea(n),previewToken:Ca().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},J1=Be(e=>{var u,l,f,d;const t=(l=(u=Je())==null?void 0:u.public)==null?void 0:l.content.documentDriven,n=(d=(f=Je())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Ln(),a=(h,m,p,y)=>{var _;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((_=h.matched[0].meta)!=null&&_.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:v}=wa(),g=v(m._path,"layout",p);if(g)return g}if(t.layoutFallbacks&&y){let v;for(const g of t.layoutFallbacks)if(y[g]&&y[g].layout){v=y[g].layout;break}if(v)return v}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=tn(h.path),_=[];if(t.navigation&&p.navigation!==!1){const v=()=>{const{navigation:g}=Ln();return g.value&&!m?g.value:Q1().then(w=>(g.value=w,w)).catch(()=>null)};_.push(v)}else _.push(()=>Promise.resolve(null));if(t.globals){const v=()=>{const{globals:g}=Ln();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(([w,S])=>{if(!m&&g.value[w])return g.value[w];let T="findOne";return S!=null&&S.type&&(T=S.type),po(S)[T]().catch(()=>null)})).then(w=>w.reduce((S,T,I)=>{const L=Object.keys(t.globals)[I];return S[L]=T,S},{}))};_.push(v)}else _.push(()=>Promise.resolve(null));if(t.page&&p.page!==!1){let v={_path:y};typeof p.page=="string"&&(v={_path:p.page}),typeof p.page=="object"&&(v=p.page);const g=()=>{const{pages:w}=Ln();return!m&&w.value[y]&&w.value[y]._path===y?w.value[y]:po().where(v).findOne().catch(()=>null)};_.push(g)}else _.push(()=>Promise.resolve(null));if(t.surround&&p.surround!==!1){let v=y;["string","object"].includes(typeof p.page)&&(v=p.page),["string","object"].includes(typeof p.surround)&&(v=p.surround);const g=()=>{const{surrounds:w}=Ln();return!m&&w.value[y]?w.value[y]:po().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(v).catch(()=>null)};_.push(g)}else _.push(()=>Promise.resolve(null));return await Promise.all(_.map(v=>v())).then(async([v,g,w,S])=>{var I,L;v&&(r.value=v),g&&(s.value=g),S&&(i.value[y]=S);const T=(w==null?void 0:w.redirect)||((L=(I=w==null?void 0:w._dir)==null?void 0:I.navigation)==null?void 0:L.redirect);if(T)return o.value[y]=w,T;if(w){const H=a(h,w,v,g),x=lr[H];x&&typeof x=="function"&&await x(),h.meta.layout=H,w.layout=H}o.value[y]=w,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:w,navigation:v,globals:g,surround:S})})};{const h=Ye();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!Mt(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&&Ed(m.body.children)})}jy(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=tn(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return Mt(p)?Mf(e,Bf,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(ut(),!0))});function Ed(e){for(const t of e)if(t.children&&Ed(t.children),t.type==="element"&&t.tag){const n=C1(t.tag);for(const r of["Prose"+n,n])_1.includes(r)&&$1(r)}}const Y1=Be(e=>{const t=Je().public.studio||{},n=ut(),r=ho("previewToken",{sameSite:"none",secure:!0}),o=It("studio-client-db",()=>null);async function s(){const i=await k(()=>import("./useStudio.QOPDACwZ.js"),__vite__mapDeps([151,152]),import.meta.url).then(u=>u.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 Sa=(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 Cd=new RegExp("\\{([^}]+)\\}","g"),Z1="@dark",X1="@light",ew="@initial";function yl(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 tw(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,u=Do(M(e),o);if(!u&&typeof c=="function"){c(o,i);return}return a?u&&(u[a]?u[a]:Do(u,a)):u}return r.bind(this)}function Pd(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 nw(e,t,n,r,o=[],s,i){var c;const a=ow(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=rw(e,t,o,s,i),{[e]:t}))}function rw(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>_l(e,s,n,r,o)).join(","):t=_l(e,t,n,r,o)),t}function _l(e,t,n,r,o){return typeof t=="number"?t:(t.match(Cd)&&(t=Ad(e,t,n,r,o)),t==="{}"?"":t)}function Ad(e,t,n,r,o){return typeof t!="string"||(t=t.replace(Cd,(s,i)=>{const a=Pd(i),c=`var(${a})`;if(n.includes(a))return c;const u=r.$tokens(i,{key:void 0,loc:o}),l=typeof u=="string"?u:(u==null?void 0:u.variable)||(u==null?void 0:u.value);return l||c})),t}function ow(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===Z1)return s("dark");if(e===X1)return s("light");if(e===ew){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 sw(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 In=typeof window<"u";function tv(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function Ls(e,t){const n={};for(const r in t){const o=t[r];n[r]=pt(o)?o.map(e):e(o)}return n}const yr=()=>{},pt=Array.isArray,nv=/\/$/,rv=e=>e.replace(nv,"");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=av(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function ov(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function sv(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Kn(t.matched[r],n.matched[o])&&td(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function td(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!iv(e[n],t[n]))return!1;return!0}function iv(e,t){return pt(e)?Qc(e,t):pt(t)?Qc(t,e):e===t}function Qc(e,t){return pt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function av(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 kr;(function(e){e.pop="pop",e.push="push"})(kr||(kr={}));var _r;(function(e){e.back="back",e.forward="forward",e.unknown=""})(_r||(_r={}));function cv(e){if(!e)if(In){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),rv(e)}const lv=/^[^#]+#/;function uv(e,t){return e.replace(lv,"#")+t}function fv(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 ss=()=>({left:window.pageXOffset,top:window.pageYOffset});function dv(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=fv(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 Jc(e,t){return(history.state?history.state.position-t:-1)+e}const vi=new Map;function hv(e,t){vi.set(e,t)}function pv(e){const t=vi.get(e);return vi.delete(e),t}let mv=()=>location.protocol+"//"+location.host;function nd(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),Gc(c,"")}return Gc(n,e)+r+o}function gv(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const h=nd(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(_=>{_(n.value,m,{delta:y,type:kr.pop,direction:y?y>0?_r.forward:_r.back:_r.unknown})})};function c(){i=n.value}function u(d){o.push(d);const h=()=>{const m=o.indexOf(d);m>-1&&o.splice(m,1)};return s.push(h),h}function l(){const{history:d}=window;d.state&&d.replaceState(ve({},d.state,{scroll:ss()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:c,listen:u,destroy:f}}function Yc(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?ss():null}}function yv(e){const{history:t,location:n}=window,r={value:nd(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,u,l){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:mv()+e+c;try{t[l?"replaceState":"pushState"](u,"",d),o.value=u}catch(h){console.error(h),n[l?"replace":"assign"](d)}}function i(c,u){const l=ve({},t.state,Yc(o.value.back,c,o.value.forward,!0),u,{position:o.value.position});s(c,l,!0),r.value=c}function a(c,u){const l=ve({},o.value,t.state,{forward:c,scroll:ss()});s(l.current,l,!0);const f=ve({},Yc(r.value,c,null),{position:l.position+1},u);s(c,f,!1),r.value=c}return{location:r,state:o,push:a,replace:i}}function rd(e){e=cv(e);const t=yv(e),n=gv(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:uv.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 _v(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),rd(e)}function vv(e){return typeof e=="string"||e&&typeof e=="object"}function od(e){return typeof e=="string"||typeof e=="symbol"}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},sd=Symbol("");var Zc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Zc||(Zc={}));function Wn(e,t){return ve(new Error,{type:e,[sd]:!0},t)}function St(e,t){return e instanceof Error&&sd in e&&(t==null||!!(e.type&t))}const Xc="[^/]+?",bv={sensitive:!1,strict:!1,start:!0,end:!0},wv=/[.+*?^${}()[\]/\\]/g;function Ev(e,t){const n=ve({},bv,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const l=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function Tv(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Sv={type:0,value:""},Pv=/[a-zA-Z0-9_]/;function Av(e){if(!e)return[[]];if(e==="/")return[[Sv]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,c,u="",l="";function f(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:l,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=c}for(;a{i(v)}:yr}function i(l){if(od(l)){const f=r.get(l);f&&(r.delete(l),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(l);f>-1&&(n.splice(f,1),l.record.name&&r.delete(l.record.name),l.children.forEach(i),l.alias.forEach(i))}}function a(){return n}function c(l){let f=0;for(;f=0&&(l.record.path!==n[f].record.path||!id(l,n[f]));)f++;n.splice(f,0,l),l.record.name&&!nl(l)&&r.set(l.record.name,l)}function u(l,f){let d,h={},m,p;if("name"in l&&l.name){if(d=r.get(l.name),!d)throw Wn(1,{location:l});p=d.record.name,h=ve(tl(f.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),l.params&&tl(l.params,d.keys.map(v=>v.name))),m=d.stringify(h)}else if("path"in l)m=l.path,d=n.find(v=>v.re.test(m)),d&&(h=d.parse(m),p=d.record.name);else{if(d=f.name?r.get(f.name):n.find(v=>v.re.test(f.path)),!d)throw Wn(1,{location:l,currentLocation:f});p=d.record.name,h=ve({},f.params,l.params),m=d.stringify(h)}const y=[];let _=d;for(;_;)y.unshift(_.record),_=_.parent;return{name:p,path:m,params:h,matched:y,meta:Ov(y)}}return e.forEach(l=>s(l)),{addRoute:s,resolve:u,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function tl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Iv(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Lv(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 Lv(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 nl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ov(e){return e.reduce((t,n)=>ve(t,n.meta),{})}function rl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function id(e,t){return t.children.some(n=>n===e||id(e,n))}const ad=/#/g,kv=/&/g,$v=/\//g,Mv=/=/g,Nv=/\?/g,cd=/\+/g,Dv=/%5B/g,Hv=/%5D/g,ld=/%5E/g,jv=/%60/g,ud=/%7B/g,Fv=/%7C/g,fd=/%7D/g,Vv=/%20/g;function ya(e){return encodeURI(""+e).replace(Fv,"|").replace(Dv,"[").replace(Hv,"]")}function Bv(e){return ya(e).replace(ud,"{").replace(fd,"}").replace(ld,"^")}function bi(e){return ya(e).replace(cd,"%2B").replace(Vv,"+").replace(ad,"%23").replace(kv,"%26").replace(jv,"`").replace(ud,"{").replace(fd,"}").replace(ld,"^")}function zv(e){return bi(e).replace(Mv,"%3D")}function Uv(e){return ya(e).replace(ad,"%23").replace(Nv,"%3F")}function Kv(e){return e==null?"":Uv(e).replace($v,"%2F")}function Mo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Wv(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&bi(s)):[r&&bi(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function qv(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=pt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Gv=Symbol(""),sl=Symbol(""),_a=Symbol(""),va=Symbol(""),wi=Symbol("");function rr(){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 Gt(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(Wn(4,{from:n,to:t})):f instanceof Error?a(f):vv(f)?a(Wn(2,{from:t,to:f})):(s&&r.enterCallbacks[o]===s&&typeof f=="function"&&s.push(f),i())},u=e.call(r&&r.instances[o],t,n,c);let l=Promise.resolve(u);e.length<3&&(l=l.then(c)),l.catch(f=>a(f))})}function ks(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(Qv(a)){const u=(a.__vccOpts||a)[t];u&&o.push(Gt(u,n,r,s,i))}else{let c=a();o.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const l=tv(u)?u.default:u;s.components[i]=l;const d=(l.__vccOpts||l)[t];return d&&Gt(d,n,r,s,i)()}))}}return o}function Qv(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function il(e){const t=He(_a),n=He(va),r=ee(()=>t.resolve(M(e.to))),o=ee(()=>{const{matched:c}=r.value,{length:u}=c,l=c[u-1],f=n.matched;if(!l||!f.length)return-1;const d=f.findIndex(Kn.bind(null,l));if(d>-1)return d;const h=al(c[u-2]);return u>1&&al(l)===h&&f[f.length-1].path!==h?f.findIndex(Kn.bind(null,c[u-2])):d}),s=ee(()=>o.value>-1&&Xv(n.params,r.value.params)),i=ee(()=>o.value>-1&&o.value===n.matched.length-1&&td(n.params,r.value.params));function a(c={}){return Zv(c)?t[M(e.replace)?"replace":"push"](M(e.to)).catch(yr):Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const Jv=xe({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:il,setup(e,{slots:t}){const n=ot(il(e)),{options:r}=He(_a),o=ee(()=>({[cl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[cl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:rt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Yv=Jv;function Zv(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 Xv(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(!pt(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function al(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const cl=(e,t,n)=>e??t??n,e0=xe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=He(wi),o=ee(()=>e.route||r.value),s=He(sl,0),i=ee(()=>{let u=M(s);const{matched:l}=o.value;let f;for(;(f=l[u])&&!f.components;)u++;return u}),a=ee(()=>o.value.matched[i.value]);yn(sl,ee(()=>i.value+1)),yn(Gv,a),yn(wi,o);const c=le();return ge(()=>[c.value,a.value,e.name],([u,l,f],[d,h,m])=>{l&&(l.instances[f]=u,h&&h!==l&&u&&u===d&&(l.leaveGuards.size||(l.leaveGuards=h.leaveGuards),l.updateGuards.size||(l.updateGuards=h.updateGuards))),u&&l&&(!h||!Kn(l,h)||!d)&&(l.enterCallbacks[f]||[]).forEach(p=>p(u))},{flush:"post"}),()=>{const u=o.value,l=e.name,f=a.value,d=f&&f.components[l];if(!d)return ll(n.default,{Component:d,route:u});const h=f.props[l],m=h?h===!0?u.params:typeof h=="function"?h(u):h:null,y=rt(d,ve({},m,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(f.instances[l]=null)},ref:c}));return ll(n.default,{Component:y,route:u})||y}}});function ll(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const dd=e0;function t0(e){const t=Rv(e.routes,e),n=e.parseQuery||Wv,r=e.stringifyQuery||ol,o=e.history,s=rr(),i=rr(),a=rr(),c=Ot(dt);let u=dt;In&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const l=Ls.bind(null,$=>""+$),f=Ls.bind(null,Kv),d=Ls.bind(null,Mo);function h($,Y){let q,X;return od($)?(q=t.getRecordMatcher($),X=Y):X=$,t.addRoute(X,q)}function m($){const Y=t.getRecordMatcher($);Y&&t.removeRoute(Y)}function p(){return t.getRoutes().map($=>$.record)}function y($){return!!t.getRecordMatcher($)}function _($,Y){if(Y=ve({},Y||c.value),typeof $=="string"){const E=Os(n,$,Y.path),R=t.resolve({path:E.path},Y),N=o.createHref(E.fullPath);return ve(E,R,{params:d(R.params),hash:Mo(E.hash),redirectedFrom:void 0,href:N})}let q;if("path"in $)q=ve({},$,{path:Os(n,$.path,Y.path).path});else{const E=ve({},$.params);for(const R in E)E[R]==null&&delete E[R];q=ve({},$,{params:f(E)}),Y.params=f(Y.params)}const X=t.resolve(q,Y),_e=$.hash||"";X.params=l(d(X.params));const Te=ov(r,ve({},$,{hash:Bv(_e),path:X.path})),b=o.createHref(Te);return ve({fullPath:Te,hash:_e,query:r===ol?qv($.query):$.query||{}},X,{redirectedFrom:void 0,href:b})}function v($){return typeof $=="string"?Os(n,$,c.value.path):ve({},$)}function g($,Y){if(u!==$)return Wn(8,{from:Y,to:$})}function w($){return I($)}function S($){return w(ve(v($),{replace:!0}))}function T($){const Y=$.matched[$.matched.length-1];if(Y&&Y.redirect){const{redirect:q}=Y;let X=typeof q=="function"?q($):q;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=v(X):{path:X},X.params={}),ve({query:$.query,hash:$.hash,params:"path"in X?{}:$.params},X)}}function I($,Y){const q=u=_($),X=c.value,_e=$.state,Te=$.force,b=$.replace===!0,E=T(q);if(E)return I(ve(v(E),{state:typeof E=="object"?ve({},_e,E.state):_e,force:Te,replace:b}),Y||q);const R=q;R.redirectedFrom=Y;let N;return!Te&&sv(r,X,q)&&(N=Wn(16,{to:R,from:X}),Oe(X,X,!0,!1)),(N?Promise.resolve(N):x(R,X)).catch(O=>St(O)?St(O,2)?O:Le(O):U(O,R,X)).then(O=>{if(O){if(St(O,2))return I(ve({replace:b},v(O.to),{state:typeof O.to=="object"?ve({},_e,O.to.state):_e,force:Te}),Y||R)}else O=C(R,X,!0,b,_e);return P(R,X,O),O})}function L($,Y){const q=g($,Y);return q?Promise.reject(q):Promise.resolve()}function H($){const Y=st.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext($):$()}function x($,Y){let q;const[X,_e,Te]=n0($,Y);q=ks(X.reverse(),"beforeRouteLeave",$,Y);for(const E of X)E.leaveGuards.forEach(R=>{q.push(Gt(R,$,Y))});const b=L.bind(null,$,Y);return q.push(b),Re(q).then(()=>{q=[];for(const E of s.list())q.push(Gt(E,$,Y));return q.push(b),Re(q)}).then(()=>{q=ks(_e,"beforeRouteUpdate",$,Y);for(const E of _e)E.updateGuards.forEach(R=>{q.push(Gt(R,$,Y))});return q.push(b),Re(q)}).then(()=>{q=[];for(const E of Te)if(E.beforeEnter)if(pt(E.beforeEnter))for(const R of E.beforeEnter)q.push(Gt(R,$,Y));else q.push(Gt(E.beforeEnter,$,Y));return q.push(b),Re(q)}).then(()=>($.matched.forEach(E=>E.enterCallbacks={}),q=ks(Te,"beforeRouteEnter",$,Y),q.push(b),Re(q))).then(()=>{q=[];for(const E of i.list())q.push(Gt(E,$,Y));return q.push(b),Re(q)}).catch(E=>St(E,8)?E:Promise.reject(E))}function P($,Y,q){a.list().forEach(X=>H(()=>X($,Y,q)))}function C($,Y,q,X,_e){const Te=g($,Y);if(Te)return Te;const b=Y===dt,E=In?history.state:{};q&&(X||b?o.replace($.fullPath,ve({scroll:b&&E&&E.scroll},_e)):o.push($.fullPath,_e)),c.value=$,Oe($,Y,q,b),Le()}let A;function V(){A||(A=o.listen(($,Y,q)=>{if(!gt.listening)return;const X=_($),_e=T(X);if(_e){I(ve(_e,{replace:!0}),X).catch(yr);return}u=X;const Te=c.value;In&&hv(Jc(Te.fullPath,q.delta),ss()),x(X,Te).catch(b=>St(b,12)?b:St(b,2)?(I(b.to,X).then(E=>{St(E,20)&&!q.delta&&q.type===kr.pop&&o.go(-1,!1)}).catch(yr),Promise.reject()):(q.delta&&o.go(-q.delta,!1),U(b,X,Te))).then(b=>{b=b||C(X,Te,!1),b&&(q.delta&&!St(b,8)?o.go(-q.delta,!1):q.type===kr.pop&&St(b,20)&&o.go(-1,!1)),P(X,Te,b)}).catch(yr)}))}let J=rr(),F=rr(),Q;function U($,Y,q){Le($);const X=F.list();return X.length?X.forEach(_e=>_e($,Y,q)):console.error($),Promise.reject($)}function he(){return Q&&c.value!==dt?Promise.resolve():new Promise(($,Y)=>{J.add([$,Y])})}function Le($){return Q||(Q=!$,V(),J.list().forEach(([Y,q])=>$?q($):Y()),J.reset()),$}function Oe($,Y,q,X){const{scrollBehavior:_e}=e;if(!In||!_e)return Promise.resolve();const Te=!q&&pv(Jc($.fullPath,0))||(X||!q)&&history.state&&history.state.scroll||null;return Ct().then(()=>_e($,Y,Te)).then(b=>b&&dv(b)).catch(b=>U(b,$,Y))}const we=$=>o.go($);let Ue;const st=new Set,gt={currentRoute:c,listening:!0,addRoute:h,removeRoute:m,hasRoute:y,getRoutes:p,resolve:_,options:e,push:w,replace:S,go:we,back:()=>we(-1),forward:()=>we(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:he,install($){const Y=this;$.component("RouterLink",Yv),$.component("RouterView",dd),$.config.globalProperties.$router=Y,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>M(c)}),In&&!Ue&&c.value===dt&&(Ue=!0,w(o.location).catch(_e=>{}));const q={};for(const _e in dt)Object.defineProperty(q,_e,{get:()=>c.value[_e],enumerable:!0});$.provide(_a,Y),$.provide(va,Yt(q)),$.provide(wi,c);const X=$.unmount;st.add($),$.unmount=function(){st.delete($),st.size<1&&(u=dt,A&&A(),A=null,c.value=dt,Ue=!1,Q=!1),X()}}};function Re($){return $.reduce((Y,q)=>Y.then(()=>H(q)),Promise.resolve())}return gt}function n0(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iKn(u,a))?r.push(a):n.push(a));const c=e.matched[i];c&&(t.matched.find(u=>Kn(u,c))||o.push(c))}return[n,r,o]}function RP(){return He(va)}const r0=(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())||""}),Ei=(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&&r0(e.route,n));return typeof r=="function"?r(e.route):r},o0=(e,t)=>({default:()=>e?rt(zp,e===!0?{}:e,t):t});function ba(e){return Array.isArray(e)?e:[e]}const $s=null,ul=[{name:"slug",path:"/:slug(.*)*",meta:{},alias:[],redirect:$s==null?void 0:$s.redirect,component:()=>k(()=>import("./document-driven.JwSMCAJf.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(e=>e.default||e)}],s0=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?rt(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function fl(e){const t=(e==null?void 0:e.meta.key)??e.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())||""});return typeof t=="function"?t(e):t}function i0(e,t){return e===t||t===dt?!1:fl(e)!==fl(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const a0={scrollBehavior(e,t,n){var u;const r=ye(),o=((u=Ye().options)==null?void 0:u.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&&i0(e,t)&&(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:dl(e.hash),behavior:o}}const a=l=>!!(l.meta.pageTransition??_i),c=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(l=>{r.hooks.hookOnce(c,async()=>{await Ct(),e.hash&&(s={el:e.hash,top:dl(e.hash),behavior:o}),l(s)})})}};function dl(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}const c0={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}}}},l0={hashMode:!1,scrollBehaviorType:"auto"},Xe={...l0,...a0,...c0},u0=async e=>{var c;let t,n;if(!((c=e.meta)!=null&&c.validate))return;const r=ye(),o=Ye();if(([t,n]=Lr(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=Br({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),a=o.beforeResolve(u=>{if(a(),u===e){const l=o.afterEach(async()=>{l(),await r.runWithContext(()=>On(i)),window.history.pushState({},"",e.fullPath)});return!1}})},f0=async e=>{let t,n;const r=([t,n]=Lr(()=>Zf(e.path)),t=await t,n(),t);if(r.redirect)return r.redirect},d0=[u0,f0],vr={};function h0(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const u=s.includes(e.slice(i))?e.slice(i).length:1;let l=s.slice(u);return l[0]!=="/"&&(l="/"+l),Rc(l,"")}const a=Rc(r,e),c=!n||xg(a,n,{trailingSlash:!0})?a:n;return c+(c.includes("?")?"":o)+s}const p0=Be({name:"nuxt:router",enforce:"pre",async setup(e){var p,y;let t,n,r=Je().app.baseURL;Xe.hashMode&&!r.includes("#")&&(r+="#");const o=((p=Xe.history)==null?void 0:p.call(Xe,r))??(Xe.hashMode?_v(r):rd(r)),s=((y=Xe.routes)==null?void 0:y.call(Xe,ul))??ul;let i;const a=h0(r,window.location,e.payload.path),c=t0({...Xe,scrollBehavior:(_,v,g)=>{if(v===dt){i=g;return}if(Xe.scrollBehavior){if(c.options.scrollBehavior=Xe.scrollBehavior,"scrollRestoration"in window.history){const w=c.beforeEach(()=>{w(),window.history.scrollRestoration="manual"})}return Xe.scrollBehavior(_,dt,i||g)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(c);const u=Ot(c.currentRoute.value);c.afterEach((_,v)=>{u.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>u.value});const l=Ot(c.resolve(a)),f=()=>{l.value=c.currentRoute.value};e.hook("page:finish",f),c.afterEach((_,v)=>{var g,w,S,T;((w=(g=_.matched[0])==null?void 0:g.components)==null?void 0:w.default)===((T=(S=v.matched[0])==null?void 0:S.components)==null?void 0:T.default)&&f()});const d={};for(const _ in l.value)Object.defineProperty(d,_,{get:()=>l.value[_]});e._route=Yt(d),e._middleware=e._middleware||{global:[],named:{}};const h=rs();try{[t,n]=Lr(()=>c.isReady()),await t,n()}catch(_){[t,n]=Lr(()=>e.runWithContext(()=>On(_))),await t,n()}const m=e.payload.state._layout;return c.beforeEach(async(_,v)=>{var g;await e.callHook("page:loading:start"),_.meta=ot(_.meta),e.isHydrating&&m&&!_n(_.meta.layout)&&(_.meta.layout=m),e._processingMiddleware=!0;{const w=new Set([...d0,...e._middleware.global]);for(const S of _.matched){const T=S.meta.middleware;if(T)for(const I of ba(T))w.add(I)}for(const S of w){const T=typeof S=="string"?e._middleware.named[S]||await((g=vr[S])==null?void 0:g.call(vr).then(L=>L.default||L)):S;if(!T)throw new Error(`Unknown route middleware: '${S}'.`);const I=await e.runWithContext(()=>T(_,v));if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const L=I||pi({statusCode:404,statusMessage:`Page Not Found: ${a}`});return await e.runWithContext(()=>On(L)),!1}if(I!==!0&&(I||I===!1))return I}}}),c.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),c.afterEach(async(_,v,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(Vy),g&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>On(pi({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(a),name:void 0,force:!0}),c.options.scrollBehavior=Xe.scrollBehavior}catch(_){await e.runWithContext(()=>On(_))}}),{provide:{router:c}}}}),Ci=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),m0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),is=e=>{const t=ye();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Ci(e)}):Ci(e)},g0=Be({name:"nuxt:payload",setup(e){Ye().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Kc(t.path);r&&Object.assign(e.static.data,r.data)}),is(()=>{var t;e.hooks.hook("link:prefetch",async n=>{Vr(n).protocol||await Kc(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(os,1e3)})}}),y0=Be(e=>{let t;async function n(){const r=await os();t&&clearTimeout(t),t=setTimeout(n,1e3*60*60);const o=await $fetch(ha("builds/latest.json"));o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}is(()=>{t=setTimeout(n,1e3*60*60)})}),_0=D(()=>k(()=>import("./ChallengeV2Demo.W0k39nW7.js"),__vite__mapDeps([8,9,10,11,12]),import.meta.url).then(e=>e.default)),v0=D(()=>k(()=>import("./ChallengeV3Demo.TcLsQd72.js"),__vite__mapDeps([13,9,14,12]),import.meta.url).then(e=>e.default)),b0=D(()=>k(()=>import("./CheckboxDemo.-2Q_V1r4.js"),__vite__mapDeps([15,16,17,11,12]),import.meta.url).then(e=>e.default)),w0=D(()=>k(()=>import("./IndexDemo.EsYKFqSy.js"),__vite__mapDeps([18,19,20]),import.meta.url).then(e=>e.default)),E0=D(()=>k(()=>import("./Mermaid.7Jd7-Cdi.js"),__vite__mapDeps([21,22,23]),import.meta.url).then(e=>e.default)),C0=D(()=>k(()=>import("./PrimaryButton.FlXkNIab.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),T0=D(()=>k(()=>import("./ThemeButton.kym-kZbO.js"),__vite__mapDeps([24,16]),import.meta.url).then(e=>e.default)),S0=D(()=>k(()=>import("./VeeValidateCheckbox.AJOw7uBn.js"),__vite__mapDeps([25,17,11,12,9,26,23]),import.meta.url).then(e=>e.default)),P0=D(()=>k(()=>import("./VeeValidateInvisible.H0JOJac3.js"),__vite__mapDeps([27,9,10,11,12,26,23]),import.meta.url).then(e=>e.default)),A0=D(()=>k(()=>Promise.resolve().then(()=>YC),void 0,import.meta.url).then(e=>e.default)),x0=D(()=>k(()=>Promise.resolve().then(()=>gP),void 0,import.meta.url).then(e=>e.default)),R0=D(()=>k(()=>Promise.resolve().then(()=>cP),void 0,import.meta.url).then(e=>e.default)),I0=D(()=>k(()=>Promise.resolve().then(()=>LC),void 0,import.meta.url).then(e=>e.default)),L0=D(()=>k(()=>Promise.resolve().then(()=>zC),void 0,import.meta.url).then(e=>e.default)),O0=D(()=>k(()=>Promise.resolve().then(()=>WC),void 0,import.meta.url).then(e=>e.default)),k0=D(()=>k(()=>Promise.resolve().then(()=>bP),void 0,import.meta.url).then(e=>e.default)),$0=D(()=>k(()=>Promise.resolve().then(()=>dE),void 0,import.meta.url).then(e=>e.default)),M0=D(()=>k(()=>Promise.resolve().then(()=>GS),void 0,import.meta.url).then(e=>e.default)),N0=D(()=>k(()=>Promise.resolve().then(()=>wC),void 0,import.meta.url).then(e=>e.default)),D0=D(()=>k(()=>import("./DocumentDrivenNotFound.Nj5zZt7K.js"),__vite__mapDeps([4,5,6,7]),import.meta.url).then(e=>e.default)),H0=D(()=>k(()=>import("./Ellipsis.PNOchgsh.js"),__vite__mapDeps([28,29]),import.meta.url).then(e=>e.default)),j0=D(()=>k(()=>Promise.resolve().then(()=>DC),void 0,import.meta.url).then(e=>e.default)),F0=D(()=>k(()=>Promise.resolve().then(()=>eP),void 0,import.meta.url).then(e=>e.default)),V0=D(()=>k(()=>import("./DocsAside.7iaOVwMX.js"),__vite__mapDeps([30,31]),import.meta.url).then(e=>e.default)),B0=D(()=>k(()=>Promise.resolve().then(()=>AC),void 0,import.meta.url).then(e=>e.default)),z0=D(()=>k(()=>import("./DocsPageBottom.UiQFbxFH.js"),__vite__mapDeps([32,33,34,35,36]),import.meta.url).then(e=>e.default)),U0=D(()=>k(()=>import("./DocsPageLayout.UPR5IpQ_.js"),__vite__mapDeps([37,30,31,38,39,32,33,34,35,36,40,41,42,43,44,45,46]),import.meta.url).then(e=>e.default)),K0=D(()=>k(()=>import("./DocsPrevNext.fgev8I6q.js"),__vite__mapDeps([40,41]),import.meta.url).then(e=>e.default)),W0=D(()=>k(()=>import("./DocsToc.wB-Mh8u5.js"),__vite__mapDeps([42,43,44,45]),import.meta.url).then(e=>e.default)),q0=D(()=>k(()=>import("./DocsTocLinks.jJ8TPMe2.js"),__vite__mapDeps([43,44]),import.meta.url).then(e=>e.default)),G0=D(()=>k(()=>import("./EditOnLink.3mKQAlG-.js"),__vite__mapDeps([47,35]),import.meta.url).then(e=>e.default)),Q0=D(()=>k(()=>import("./SourceLink.fQqE1hsz.js"),__vite__mapDeps([48,49,50]),import.meta.url).then(e=>e.default)),J0=D(()=>k(()=>import("./ProseA.OkKrpPKJ.js"),__vite__mapDeps([33,34]),import.meta.url).then(e=>e.default)),Y0=D(()=>k(()=>import("./ProseBlockquote.qAOUk4Wn.js"),__vite__mapDeps([51,52]),import.meta.url).then(e=>e.default)),Z0=D(()=>k(()=>import("./ProseCode.c02XCi1f.js"),__vite__mapDeps([53,54]),import.meta.url).then(e=>e.default)),X0=D(()=>k(()=>import("./ProseCodeInline.6iI3GoXM.js"),__vite__mapDeps([38,39]),import.meta.url).then(e=>e.default)),eb=D(()=>k(()=>import("./ProseEm.u9sEsbYJ.js"),__vite__mapDeps([55,56]),import.meta.url).then(e=>e.default)),tb=D(()=>k(()=>import("./ProseH1.EFDm3JDy.js"),__vite__mapDeps([57,58]),import.meta.url).then(e=>e.default)),nb=D(()=>k(()=>import("./ProseH2.5OksNWtg.js"),__vite__mapDeps([59,60]),import.meta.url).then(e=>e.default)),rb=D(()=>k(()=>import("./ProseH3.QreNH1Ne.js"),__vite__mapDeps([61,62]),import.meta.url).then(e=>e.default)),ob=D(()=>k(()=>import("./ProseH4.vtOAJkSq.js"),__vite__mapDeps([63,64]),import.meta.url).then(e=>e.default)),sb=D(()=>k(()=>import("./ProseH5.ThcODWY3.js"),__vite__mapDeps([65,66]),import.meta.url).then(e=>e.default)),ib=D(()=>k(()=>import("./ProseH6.es0nbL-E.js"),__vite__mapDeps([67,68]),import.meta.url).then(e=>e.default)),ab=D(()=>k(()=>import("./ProseHr.5KpkoNDK.js"),__vite__mapDeps([69,70]),import.meta.url).then(e=>e.default)),cb=D(()=>k(()=>import("./ProseImg.dL8X15Ke.js"),__vite__mapDeps([71,72]),import.meta.url).then(e=>e.default)),lb=D(()=>k(()=>import("./ProseLi.mf42c34j.js"),__vite__mapDeps([73,74]),import.meta.url).then(e=>e.default)),ub=D(()=>k(()=>import("./ProseOl.GkhMg_vD.js"),__vite__mapDeps([75,76]),import.meta.url).then(e=>e.default)),fb=D(()=>k(()=>import("./ProseP.bMR8pn8i.js"),__vite__mapDeps([49,50]),import.meta.url).then(e=>e.default)),db=D(()=>k(()=>import("./ProseStrong.poKMskxt.js"),__vite__mapDeps([77,78]),import.meta.url).then(e=>e.default)),hb=D(()=>k(()=>import("./ProseTable._7xk69YO.js"),__vite__mapDeps([79,80]),import.meta.url).then(e=>e.default)),pb=D(()=>k(()=>import("./ProseTbody.6wYonfVE.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),mb=D(()=>k(()=>import("./ProseTd.3ktvwyQ-.js"),__vite__mapDeps([81,82]),import.meta.url).then(e=>e.default)),gb=D(()=>k(()=>import("./ProseTh.FkymB9rA.js"),__vite__mapDeps([83,84]),import.meta.url).then(e=>e.default)),yb=D(()=>k(()=>import("./ProseThead.B2jt3gkU.js"),__vite__mapDeps([85,86]),import.meta.url).then(e=>e.default)),_b=D(()=>k(()=>import("./ProseTr.WUpym3Ix.js"),__vite__mapDeps([87,88]),import.meta.url).then(e=>e.default)),vb=D(()=>k(()=>import("./ProseUl.7I5B1wKe.js"),__vite__mapDeps([89,90]),import.meta.url).then(e=>e.default)),bb=D(()=>k(()=>Promise.resolve().then(()=>sE),void 0,import.meta.url).then(e=>e.default)),wb=D(()=>k(()=>import("./Badge._9Rs-duH.js"),__vite__mapDeps([91,92]),import.meta.url).then(e=>e.default)),Eb=D(()=>k(()=>import("./ButtonLink.JsHDRO_1.js"),__vite__mapDeps([5,6]),import.meta.url).then(e=>e.default)),Cb=D(()=>k(()=>import("./Callout.6IDfYbfc.js"),__vite__mapDeps([93,94]),import.meta.url).then(e=>e.default)),Tb=D(()=>k(()=>import("./CodeBlock.1eKG1Wpl.js"),__vite__mapDeps([95,96]),import.meta.url).then(e=>e.default)),Sb=D(()=>k(()=>import("./CodeGroup.mnD6IF-H.js"),__vite__mapDeps([97,98,99,100]),import.meta.url).then(e=>e.default)),Pb=D(()=>k(()=>Promise.resolve().then(()=>nP),void 0,import.meta.url).then(e=>e.default)),Ab=D(()=>k(()=>import("./CopyButton.y_8t9_on.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),xb=D(()=>k(()=>import("./List.ZJ2mKXBz.js"),__vite__mapDeps([101,102,103]),import.meta.url).then(e=>e.default)),Rb=D(()=>k(()=>import("./NuxtImg.VdvHjWw5.js"),__vite__mapDeps([104,105]),import.meta.url).then(e=>e.default)),Ib=D(()=>k(()=>import("./Props.CEtWFb0d.js"),__vite__mapDeps([106,83,84,87,88,85,86,38,39,81,82,107,79,80]),import.meta.url).then(e=>e.default)),Lb=D(()=>k(()=>import("./Sandbox.fz6ePa0S.js"),__vite__mapDeps([108,98,99,109]),import.meta.url).then(e=>e.default)),Ob=D(()=>k(()=>import("./TabsHeader.wVJNPdeP.js"),__vite__mapDeps([98,99]),import.meta.url).then(e=>e.default)),kb=D(()=>k(()=>import("./Terminal.cd6apQ0s.js"),__vite__mapDeps([110,111]),import.meta.url).then(e=>e.default)),$b=D(()=>k(()=>import("./VideoPlayer.Wl48Pgvy.js"),__vite__mapDeps([112,105,113]),import.meta.url).then(e=>e.default)),Mb=D(()=>k(()=>import("./IconCodeSandBox.N1ON8FR6.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Nb=D(()=>k(()=>import("./IconDocus.LHucSjT7.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Db=D(()=>k(()=>import("./IconNuxt.BRehDEdH.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Hb=D(()=>k(()=>import("./IconNuxtContent.BRehDEdH.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),jb=D(()=>k(()=>import("./IconNuxtLabs.WgrHf3YD.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Fb=D(()=>k(()=>import("./IconNuxtStudio.O8v09NUG.js"),__vite__mapDeps([114,115]),import.meta.url).then(e=>e.default)),Vb=D(()=>k(()=>import("./IconStackBlitz.fPWsgIjN.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),Bb=D(()=>k(()=>import("./IconVueTelescope.7Z03Pm2t.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),zb=D(()=>k(()=>import("./BlockHero.xcepq8jC.js"),__vite__mapDeps([116,5,6,110,111,112,105,113,117]),import.meta.url).then(e=>e.default)),Ub=D(()=>k(()=>import("./Card.o4r2Vq4C.js"),__vite__mapDeps([19,20]),import.meta.url).then(e=>e.default)),Kb=D(()=>k(()=>import("./CardGrid.ZlMwfiox.js"),__vite__mapDeps([118,119]),import.meta.url).then(e=>e.default)),Wb=D(()=>k(()=>import("./VoltaBoard.5Hy9XdE-.js"),__vite__mapDeps([120,121]),import.meta.url).then(e=>e.default)),qb=D(()=>k(()=>import("./ComponentPlayground.7uaKLuVF.js"),__vite__mapDeps([122,123,98,99,124,63,64,38,39,91,92,49,50,125,126,127,128,129]),import.meta.url).then(e=>e.default)),Gb=D(()=>k(()=>import("./ComponentPlaygroundData.fO7KBkaY.js"),__vite__mapDeps([123,98,99,124,63,64,38,39,91,92,49,50,125,126,127,128]),import.meta.url).then(e=>e.default)),Qb=D(()=>k(()=>import("./ComponentPlaygroundProps.Ec6dzvCJ.js"),__vite__mapDeps([124,63,64,38,39,91,92,49,50,125]),import.meta.url).then(e=>e.default)),Jb=D(()=>k(()=>import("./ComponentPlaygroundSlots.Ef6Sa52j.js"),__vite__mapDeps([130,126]),import.meta.url).then(e=>e.default)),Yb=D(()=>k(()=>import("./ComponentPlaygroundTokens.b0fT7zSI.js"),__vite__mapDeps([131,127]),import.meta.url).then(e=>e.default)),Zb=D(()=>k(()=>import("./PreviewLayout.-mh9dIns.js"),__vite__mapDeps([132,133]),import.meta.url).then(e=>e.default)),Xb=D(()=>k(()=>import("./TokensPlayground.lrWJJPfs.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),e1=D(()=>k(()=>import("./ContentDoc.B9HE1ddj.js"),__vite__mapDeps([134,2,3,135]),import.meta.url).then(e=>e.default)),t1=D(()=>k(()=>import("./ContentList.jndH3Itx.js"),__vite__mapDeps([136,135]),import.meta.url).then(e=>e.default)),n1=D(()=>k(()=>import("./ContentNavigation.aswf_l73.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),r1=D(()=>k(()=>import("./ContentQuery.M0_kloZa.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),o1=D(()=>k(()=>import("./ContentRenderer.tFbNhKMt.js"),__vite__mapDeps([2,3]),import.meta.url).then(e=>e.default)),s1=D(()=>k(()=>import("./ContentRendererMarkdown.42Ch2eVw.js"),__vite__mapDeps([137,3]),import.meta.url).then(e=>e.default)),i1=D(()=>k(()=>import("./ContentSlot.6G6kJV58.js"),__vite__mapDeps([138,102]),import.meta.url).then(e=>e.default)),a1=D(()=>k(()=>import("./DocumentDrivenEmpty.kiIWIMj7.js"),__vite__mapDeps([]),import.meta.url).then(e=>e.default)),c1=D(()=>k(()=>import("./Markdown.YK6J3_Q1.js"),__vite__mapDeps([139,138,102]),import.meta.url).then(e=>e.default)),l1=D(()=>k(()=>import("./ProsePre.hqKdR_vu.js"),__vite__mapDeps([140,53,54,141]),import.meta.url).then(e=>e.default)),u1=D(()=>k(()=>import("./Checkbox.BEbI-N3l.js"),__vite__mapDeps([142,17,11,12]),import.meta.url).then(e=>e.default)),f1=D(()=>k(()=>import("./ChallengeV2._AOpQvwG.js"),__vite__mapDeps([143,10,11,12]),import.meta.url).then(e=>e.default)),d1=D(()=>k(()=>import("./ChallengeV3.BNbXg8lm.js"),__vite__mapDeps([144,14,12]),import.meta.url).then(e=>e.default)),h1=D(()=>k(()=>Promise.resolve().then(()=>vC),void 0,import.meta.url).then(e=>e.default)),p1=D(()=>k(()=>import("./IconCSS.xyxYUcIn.js"),__vite__mapDeps([145,146]),import.meta.url).then(e=>e.default)),m1=[["ChallengeV2Demo",_0],["ChallengeV3Demo",v0],["CheckboxDemo",b0],["IndexDemo",w0],["Mermaid",E0],["PrimaryButton",C0],["ThemeButton",T0],["VeeValidateCheckbox",S0],["VeeValidateInvisible",P0],["AppDocSearch",A0],["AppFooter",x0],["AppHeader",R0],["AppHeaderDialog",I0],["AppHeaderLogo",L0],["AppHeaderNavigation",O0],["AppLayout",k0],["AppLoadingBar",$0],["AppSearch",M0],["AppSocialIcons",N0],["DocumentDrivenNotFound",D0],["Ellipsis",H0],["Logo",j0],["ThemeSelect",F0],["DocsAside",V0],["DocsAsideTree",B0],["DocsPageBottom",z0],["DocsPageLayout",U0],["DocsPrevNext",K0],["DocsToc",W0],["DocsTocLinks",q0],["EditOnLink",G0],["SourceLink",Q0],["ProseA",J0],["ProseBlockquote",Y0],["ProseCode",Z0],["ProseCodeInline",X0],["ProseEm",eb],["ProseH1",tb],["ProseH2",nb],["ProseH3",rb],["ProseH4",ob],["ProseH5",sb],["ProseH6",ib],["ProseHr",ab],["ProseImg",cb],["ProseLi",lb],["ProseOl",ub],["ProseP",fb],["ProseStrong",db],["ProseTable",hb],["ProseTbody",pb],["ProseTd",mb],["ProseTh",gb],["ProseThead",yb],["ProseTr",_b],["ProseUl",vb],["Alert",bb],["Badge",wb],["ButtonLink",Eb],["Callout",Cb],["CodeBlock",Tb],["CodeGroup",Sb],["Container",Pb],["CopyButton",Ab],["List",xb],["NuxtImg",Rb],["Props",Ib],["Sandbox",Lb],["TabsHeader",Ob],["Terminal",kb],["VideoPlayer",$b],["IconCodeSandBox",Mb],["IconDocus",Nb],["IconNuxt",Db],["IconNuxtContent",Hb],["IconNuxtLabs",jb],["IconNuxtStudio",Fb],["IconStackBlitz",Vb],["IconVueTelescope",Bb],["BlockHero",zb],["Card",Ub],["CardGrid",Kb],["VoltaBoard",Wb],["ComponentPlayground",qb],["ComponentPlaygroundData",Gb],["ComponentPlaygroundProps",Qb],["ComponentPlaygroundSlots",Jb],["ComponentPlaygroundTokens",Yb],["PreviewLayout",Zb],["TokensPlayground",Xb],["ContentDoc",e1],["ContentList",t1],["ContentNavigation",n1],["ContentQuery",r1],["ContentRenderer",o1],["ContentRendererMarkdown",s1],["MDCSlot",i1],["DocumentDrivenEmpty",a1],["Markdown",c1],["ProsePre",l1],["RecaptchaCheckbox",u1],["RecaptchaChallengeV2",f1],["RecaptchaChallengeV3",d1],["Icon",h1],["IconCSS",p1]],g1=Be({name:"nuxt:global-components",setup(e){for(const[t,n]of m1)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),lr={default:()=>k(()=>import("./default.jp05wh6t.js"),__vite__mapDeps([147,37,30,31,38,39,32,33,34,35,36,40,41,42,43,44,45,46,22,23]),import.meta.url).then(e=>e.default||e),page:()=>k(()=>import("./page.WH-au3PE.js"),__vite__mapDeps([148,149]),import.meta.url).then(e=>e.default||e)},y1=Be({name:"nuxt:prefetch",setup(e){const t=Ye();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 lr[r]=="function"&&await lr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=ba(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof vr[i]=="function"&&vr[i]();o&&typeof lr[o]=="function"&&lr[o]()})}}),_1=["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"],v1=/\d/,b1=["-","_","/","."];function w1(e=""){if(!v1.test(e))return e!==e.toLowerCase()}function hd(e,t){const n=t??b1,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 u=w1(a);if(i===!1){if(s===!1&&u===!0){r.push(o),o=a,s=u;continue}if(s===!0&&u===!1&&o.length>1){const l=o.at(-1);r.push(o.slice(0,Math.max(0,o.length-1))),o=l+a,s=u;continue}}o+=a,s=u,i=c}return r.push(o),r}function E1(e){return e?e[0].toUpperCase()+e.slice(1):""}function C1(e,t){return e?(Array.isArray(e)?e:hd(e)).map(n=>E1(t!=null&&t.normalize?n.toLowerCase():n)).join(""):""}function Ti(e,t){return e?(Array.isArray(e)?e:hd(e)).map(n=>n.toLowerCase()).join(t??"-"):""}function pd(e){return Array.isArray(e)?e:[e]}const T1=e=>e==="defer"||e===!1;function S1(...e){var m;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=ye(),i=r,a=()=>null,c=()=>s.isHydrating?s.payload.data[n]:s.static.data[n];o.server=o.server??!0,o.default=o.default??a,o.getCachedData=o.getCachedData??c,o.lazy=o.lazy??!1,o.immediate=o.immediate??!0,o.deep=o.deep??K_.deep,o.dedupe=o.dedupe??"cancel";const u=()=>![null,void 0].includes(o.getCachedData(n));if(!s._asyncData[n]||!o.immediate){(m=s.payload._errors)[n]??(m[n]=null);const p=o.deep?le:Ot;s._asyncData[n]={data:p(o.getCachedData(n)??o.default()),pending:le(!u()),error:ta(s.payload._errors,n),status:le("idle")}}const l={...s._asyncData[n]};l.refresh=l.execute=(p={})=>{if(s._asyncDataPromises[n]){if(T1(p.dedupe??o.dedupe))return s._asyncDataPromises[n];s._asyncDataPromises[n].cancelled=!0}if((p._initial||s.isHydrating&&p._initial!==!1)&&u())return Promise.resolve(o.getCachedData(n));l.pending.value=!0,l.status.value="pending";const y=new Promise((_,v)=>{try{_(i(s))}catch(g){v(g)}}).then(_=>{if(y.cancelled)return s._asyncDataPromises[n];let v=_;o.transform&&(v=o.transform(_)),o.pick&&(v=A1(v,o.pick)),s.payload.data[n]=v,l.data.value=v,l.error.value=null,l.status.value="success"}).catch(_=>{if(y.cancelled)return s._asyncDataPromises[n];l.error.value=Br(_),l.data.value=M(o.default()),l.status.value="error"}).finally(()=>{y.cancelled||(l.pending.value=!1,delete s._asyncDataPromises[n])});return s._asyncDataPromises[n]=y,s._asyncDataPromises[n]};const f=()=>l.refresh({_initial:!0}),d=o.server!==!1&&s.payload.serverRendered;{const p=mt();if(p&&!p._nuxtOnBeforeMountCbs){p._nuxtOnBeforeMountCbs=[];const _=p._nuxtOnBeforeMountCbs;p&&(Gu(()=>{_.forEach(v=>{v()}),_.splice(0,_.length)}),Pr(()=>_.splice(0,_.length)))}d&&s.isHydrating&&(l.error.value||u())?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):p&&(s.payload.serverRendered&&s.isHydrating||o.lazy)&&o.immediate?p._nuxtOnBeforeMountCbs.push(f):o.immediate&&f(),o.watch&&ge(o.watch,()=>l.refresh());const y=s.hook("app:data:refresh",async _=>{(!_||_.includes(n))&&await l.refresh()});p&&Pr(y)}const h=Promise.resolve(s._asyncDataPromises[n]).then(()=>l);return Object.assign(h,l),h}function P1(...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 S1(n,r,{...o,lazy:!0},null)}async function IP(e){await new Promise(n=>is(n));const t=e?pd(e):void 0;await ye().hooks.callHookParallel("app:data:refresh",t)}function A1(e,t){const n={};for(const r of t)n[r]=e[r];return n}const x1="$s";function It(...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=x1+n,s=ye(),i=ta(s.payload.state,o);if(i.value===void 0&&r){const a=r();if(Me(a))return s.payload.state[o]=a,a;i.value=a}return i}const R1={path:"/",watch:!0,decode:e=>Ir(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function ho(e,t){var c;const n={...R1,...t},r=hl(n)||{};let o;n.maxAge!==void 0?o=n.maxAge*1e3:n.expires&&(o=n.expires.getTime()-Date.now());const s=o!==void 0&&o<=0,i=_t(s?void 0:r[e]??((c=n.default)==null?void 0:c.call(n))),a=o&&!s?O1(i,o):le(i);{const u=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${e}`),l=()=>{n.readonly||Ry(a.value,r[e])||(L1(e,a.value,n),r[e]=_t(a.value),u==null||u.postMessage(n.encode(a.value)))},f=h=>{var p;const m=h.refresh?(p=hl(n))==null?void 0:p[e]:n.decode(h.value);d=!0,r[e]=a.value=m,Ct(()=>{d=!1})};let d=!1;Hr()&&Cn(()=>{d=!0,l(),u==null||u.close()}),u&&(u.onmessage=({data:h})=>f(h)),n.watch?ge(a,()=>{d||l()},{deep:n.watch!=="shallow"}):l()}return a}function hl(e={}){return hy(document.cookie,e)}function I1(e,t,n={}){return t==null?$c(e,t,{...n,maxAge:-1}):$c(e,t,n)}function L1(e,t,n={}){document.cookie=I1(e,t,n)}const pl=2147483647;function O1(e,t){let n,r=0;return Hr()&&Cn(()=>{clearTimeout(n)}),mp((o,s)=>{function i(){clearTimeout(n);const a=t-r,c=a{if(r+=c,r{const t=ye();e=pd(e),await Promise.all(e.map(n=>M1(t.vueApp._context.components[n])))},$1=e=>k1(e);function M1(e){if(e!=null&&e.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function md(e,t=Ye()){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(()=>md(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 N1(e={}){const t=e.path||window.location.pathname;let n={};try{n=Ir(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.value=!0}),yn(D1,!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)}}}),j1=(...e)=>e.find(t=>t!==void 0),F1="noopener noreferrer";function V1(e){const t=e.componentName||"NuxtLink",n=(r,o)=>{if(!r||e.trailingSlash!=="append"&&e.trailingSlash!=="remove")return r;if(typeof r=="string")return ml(r,e.trailingSlash);const s="path"in r?r.path:o(r).path;return{...r,name:void 0,path:ml(s,e.trailingSlash)}};return xe({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=Ye(),i=Je(),a=ee(()=>{const h=r.to||r.href||"";return n(h,s.resolve)}),c=ee(()=>typeof a.value=="string"&&Mt(a.value,{acceptRelative:!0})),u=ee(()=>r.external||r.target&&r.target!=="_self"?!0:typeof a.value=="object"?!1:a.value===""||c.value),l=le(!1),f=le(null),d=h=>{var m;f.value=r.custom?(m=h==null?void 0:h.$el)==null?void 0:m.nextElementSibling:h==null?void 0:h.$el};if(r.prefetch!==!1&&r.noPrefetch!==!0&&r.target!=="_blank"&&!z1()){const m=ye();let p,y=null;Tt(()=>{const _=B1();is(()=>{p=Ci(()=>{var v;(v=f==null?void 0:f.value)!=null&&v.tagName&&(y=_.observe(f.value,async()=>{y==null||y(),y=null;const g=typeof a.value=="string"?a.value:s.resolve(a.value).fullPath;await Promise.all([m.hooks.callHook("link:prefetch",g).catch(()=>{}),!u.value&&md(a.value,s).catch(()=>{})]),l.value=!0}))})})}),Yn(()=>{p&&m0(p),y==null||y(),y=null})}return()=>{var _,v;if(!u.value){const g={ref:d,to:a.value,activeClass:r.activeClass||e.activeClass,exactActiveClass:r.exactActiveClass||e.exactActiveClass,replace:r.replace,ariaCurrentValue:r.ariaCurrentValue,custom:r.custom};return r.custom||(l.value&&(g.class=r.prefetchedClass||e.prefetchedClass),g.rel=r.rel),rt(Ap("RouterLink"),g,o.default)}const h=typeof a.value=="object"?((_=s.resolve(a.value))==null?void 0:_.href)??null:a.value&&!r.external&&!c.value?n(Pn(i.app.baseURL,a.value),s.resolve):a.value||null,m=r.target||null,p=r.noRel?null:j1(r.rel,e.externalRelAttribute,h?F1:"")||null,y=()=>Bf(h,{replace:r.replace});return r.custom?o.default?o.default({href:h,navigate:y,get route(){if(!h)return;const g=Vr(h);return{path:g.pathname,fullPath:g.pathname,get query(){return Pf(g.search)},hash:g.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:h}},rel:p,target:m,isExternal:u.value,isActive:!1,isExactActive:!1}):null:rt("a",{ref:f,href:h,rel:p,target:m},(v=o.default)==null?void 0:v.call(o))}}})}const zr=V1(U_);function ml(e,t){const n=t==="append"?Ro:tn;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function B1(){const e=ye();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 u=n.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&u&&u()}})),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 z1(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const Ln=()=>{const e=It("dd-pages",()=>Ot(Yt({}))),t=It("dd-surrounds",()=>Ot(Yt({}))),n=It("dd-navigation"),r=It("dd-globals",()=>Ot(Yt({})));return{pages:e,surrounds:t,navigation:n,globals:r}},Ur=()=>{const{navigation:e,pages:t,surrounds:n,globals:r}=Ln(),o=ee(()=>tn(ut().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}),u=ee(()=>{var h;return(h=s.value)==null?void 0:h.excerpt}),l=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:u,toc:a,type:c,layout:l,next:f,prev:d}},gd=e=>{if(!e.children)return e._path;for(const t of(e==null?void 0:e.children)||[]){const n=gd(t);if(n)return n}},yd=(e,t)=>{for(const n of t){if(n._path===e&&!n._id)return n.children;if(n.children){const r=yd(e,n.children);if(r)return r}}},_d=(e,t)=>{for(const n of t){if(n._path===e)return n;if(n.children){const r=_d(e,n.children);if(r)return r}}},U1=(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},wa=()=>({navBottomLink:gd,navDirFromPath:yd,navPageFromPath:_d,navKeyFromPath:U1});function Ea(e){return JSON.stringify(e,K1)}function K1(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const vd=e=>{let t=Ea(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("/")},Ca=()=>({isEnabled:()=>{const r=ut().query;return Object.prototype.hasOwnProperty.call(r,"preview")&&!r.preview?!1:!!(r.preview||ho("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>ho("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:r=>{ho("previewToken").value=r,ut().query.preview=r||"",r?sessionStorage.setItem("previewToken",r):sessionStorage.removeItem("previewToken"),window.location.reload()}}),No=e=>Af(e,Je().public.content.api.baseURL),bd=()=>{const{experimental:e}=Je().public.content;return e.clientDB?!0:Ca().isEnabled()},gl=(e,t)=>t.split(".").reduce((n,r)=>n&&n[r],e),Ta=(e,t)=>Object.keys(e).filter(t).reduce((n,r)=>Object.assign(n,{[r]:e[r]}),{}),LP=e=>t=>e&&e.length?Ta(t,n=>!e.includes(n)):t,OP=e=>t=>Array.isArray(t)?t.map(n=>e(n)):e(t),wd=e=>{const t=[],n=[];for(const r of e)["$","_"].includes(r)?t.push(r):n.push(r);return{prefixes:t,properties:n}},kP=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=wd(e);return Ta(t,o=>!r.includes(o)&&!n.includes(o[0]))},$P=(e=[])=>t=>{if(e.length===0||!t)return t;const{prefixes:n,properties:r}=wd(e);return Ta(t,o=>r.includes(o)||n.includes(o[0]))},MP=(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=[gl(s,o),gl(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},NP=(e,t="Expected an array")=>{if(!Array.isArray(e))throw new TypeError(t)},Pt=e=>Array.isArray(e)?e:[void 0,null].includes(e)?[]:[e],W1=["sort","where","only","without"];function q1(e,t={}){const n={};for(const i of Object.keys(t.initialParams||{}))n[i]=W1.includes(i)?Pt(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:[...Pt(n.where)]}:{},...n.sort?{sort:[...Pt(n.sort)]}:{}}),only:r("only",Pt),without:r("without",Pt),where:r("where",i=>[...Pt(n.where),...Pt(i)]),sort:r("sort",i=>[...Pt(n.sort),...Pt(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 G1=()=>async e=>{const{content:t}=Je().public,n=e.params(),r=t.experimental.stripQueryParameters?No(`/query/${`${Oo(n)}.${t.integrity}`}/${vd(n)}.json`):No(`/query/${Oo(n)}.${t.integrity}.json`);if(bd())return(await k(()=>import("./client-db.qmKneCqM.js"),__vite__mapDeps([150,23]),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:Ea(n),previewToken:Ca().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function po(e,...t){const{content:n}=Je().public,r=q1(G1(),{initialParams:typeof e!="string"?e:{},legacy:!0});let o;typeof e=="string"&&(o=ci(Pn(e,...t)));const s=r.params;return r.params=()=>{var a,c,u;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:tn(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&&((u=(c=i.where)==null?void 0:c.find(f=>f._locale))!=null&&u._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const Q1=async e=>{const{content:t}=Je().public;typeof(e==null?void 0:e.params)!="function"&&(e=po(e));const n=e.params(),r=t.experimental.stripQueryParameters?No(`/navigation/${`${Oo(n)}.${t.integrity}`}/${vd(n)}.json`):No(`/navigation/${Oo(n)}.${t.integrity}.json`);if(bd())return(await k(()=>import("./client-db.qmKneCqM.js"),__vite__mapDeps([150,23]),import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:Ea(n),previewToken:Ca().getPreviewToken()}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},J1=Be(e=>{var u,l,f,d;const t=(l=(u=Je())==null?void 0:u.public)==null?void 0:l.content.documentDriven,n=(d=(f=Je())==null?void 0:f.public)==null?void 0:d.content.experimental.clientDB,{navigation:r,pages:o,globals:s,surrounds:i}=Ln(),a=(h,m,p,y)=>{var _;if(m&&(m!=null&&m.layout))return m.layout;if(h.matched.length&&((_=h.matched[0].meta)!=null&&_.layout))return h.matched[0].meta.layout;if(p&&m){const{navKeyFromPath:v}=wa(),g=v(m._path,"layout",p);if(g)return g}if(t.layoutFallbacks&&y){let v;for(const g of t.layoutFallbacks)if(y[g]&&y[g].layout){v=y[g].layout;break}if(v)return v}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=tn(h.path),_=[];if(t.navigation&&p.navigation!==!1){const v=()=>{const{navigation:g}=Ln();return g.value&&!m?g.value:Q1().then(w=>(g.value=w,w)).catch(()=>null)};_.push(v)}else _.push(()=>Promise.resolve(null));if(t.globals){const v=()=>{const{globals:g}=Ln();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(([w,S])=>{if(!m&&g.value[w])return g.value[w];let T="findOne";return S!=null&&S.type&&(T=S.type),po(S)[T]().catch(()=>null)})).then(w=>w.reduce((S,T,I)=>{const L=Object.keys(t.globals)[I];return S[L]=T,S},{}))};_.push(v)}else _.push(()=>Promise.resolve(null));if(t.page&&p.page!==!1){let v={_path:y};typeof p.page=="string"&&(v={_path:p.page}),typeof p.page=="object"&&(v=p.page);const g=()=>{const{pages:w}=Ln();return!m&&w.value[y]&&w.value[y]._path===y?w.value[y]:po().where(v).findOne().catch(()=>null)};_.push(g)}else _.push(()=>Promise.resolve(null));if(t.surround&&p.surround!==!1){let v=y;["string","object"].includes(typeof p.page)&&(v=p.page),["string","object"].includes(typeof p.surround)&&(v=p.surround);const g=()=>{const{surrounds:w}=Ln();return!m&&w.value[y]?w.value[y]:po().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(v).catch(()=>null)};_.push(g)}else _.push(()=>Promise.resolve(null));return await Promise.all(_.map(v=>v())).then(async([v,g,w,S])=>{var I,L;v&&(r.value=v),g&&(s.value=g),S&&(i.value[y]=S);const T=(w==null?void 0:w.redirect)||((L=(I=w==null?void 0:w._dir)==null?void 0:I.navigation)==null?void 0:L.redirect);if(T)return o.value[y]=w,T;if(w){const H=a(h,w,v,g),x=lr[H];x&&typeof x=="function"&&await x(),h.meta.layout=H,w.layout=H}o.value[y]=w,await e.callHook("content:document-driven:finish",{route:h,dedup:m,page:w,navigation:v,globals:g,surround:S})})};{const h=Ye();e.hook("link:prefetch",m=>{if(!(m in o.value)&&!Mt(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&&Ed(m.body.children)})}jy(async(h,m)=>{if(!n&&h.path===m.path){if(!h.meta.layout){const y=tn(h.path);o.value[y]&&(h.meta.layout=o.value[y].layout)}return}const p=await c(h,!1);if(p)return Mt(p)?Mf(e,Bf,[p,{external:!0}]):p}),e.hook("app:data:refresh",async()=>await c(ut(),!0))});function Ed(e){for(const t of e)if(t.children&&Ed(t.children),t.type==="element"&&t.tag){const n=C1(t.tag);for(const r of["Prose"+n,n])_1.includes(r)&&$1(r)}}const Y1=Be(e=>{const t=Je().public.studio||{},n=ut(),r=ho("previewToken",{sameSite:"none",secure:!0}),o=It("studio-client-db",()=>null);async function s(){const i=await k(()=>import("./useStudio.XgpbW4L4.js"),__vite__mapDeps([151,152]),import.meta.url).then(u=>u.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 Sa=(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 Cd=new RegExp("\\{([^}]+)\\}","g"),Z1="@dark",X1="@light",ew="@initial";function yl(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 tw(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,u=Do(M(e),o);if(!u&&typeof c=="function"){c(o,i);return}return a?u&&(u[a]?u[a]:Do(u,a)):u}return r.bind(this)}function Pd(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 nw(e,t,n,r,o=[],s,i){var c;const a=ow(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=rw(e,t,o,s,i),{[e]:t}))}function rw(e,t,n,r,o){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(s=>_l(e,s,n,r,o)).join(","):t=_l(e,t,n,r,o)),t}function _l(e,t,n,r,o){return typeof t=="number"?t:(t.match(Cd)&&(t=Ad(e,t,n,r,o)),t==="{}"?"":t)}function Ad(e,t,n,r,o){return typeof t!="string"||(t=t.replace(Cd,(s,i)=>{const a=Pd(i),c=`var(${a})`;if(n.includes(a))return c;const u=r.$tokens(i,{key:void 0,loc:o}),l=typeof u=="string"?u:(u==null?void 0:u.variable)||(u==null?void 0:u.value);return l||c})),t}function ow(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===Z1)return s("dark");if(e===X1)return s("light");if(e===ew){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 sw(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 vl=/\s*,\s*(?![^()]*\))/,iw=(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:aw}}=Object,cw=(e,t=void 0)=>{const n=new WeakSet,r=(s,i,a,c,u,l,f)=>{for(let d=0;d{let l="";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!==u)){const y=t(f,m,s,i);if(y!==null){l+=typeof y=="object"&&y?o(y,i,a,f,m):y??"";continue}}if(typeof m=="object"&&m&&m.toString===aw){n.has(i)&&(n.delete(i),l+="}");const y=Object(f);let _;d?(_=i,l+=o(m,_,a.concat(y))):(_=i.length?iw(i,f.split(vl)):f.split(vl),l+=o(m,_,a)),n.has(y)&&(n.delete(y),l+="}"),n.has(_)&&(n.delete(_),l+="}")}else l=r(l,i,a,f,m,d,h)}}return l};return o(e,[],[])},xd=".phy[--]";function lw(e,t={},n,r){const o=le(),s=le(t),i={},a=(m,p)=>cw(m,(y,_,v,g)=>nw(y,_,v,g,[],{$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 _=`pinceau-runtime${r?`-${r}`:""}`,v=m.document;if(p=v.querySelector(`style#${_}`),!p){const g=v.createElement("style");g.id=_,g.type="text/css",p=v.head.appendChild(g)}y=v.querySelector(`style#pinceau-runtime-hydratable${r?`-${r}`:""}`)}return o.value=(p==null?void 0:p.sheet)||uw(),y?u(y):void 0}function u(m){var y,_;const p={};for(const v of Object.entries(((y=m==null?void 0:m.sheet)==null?void 0:y.cssRules)||((_=o.value)==null?void 0:_.cssRules)||{})){const[g,w]=v,S=fw(w);if(!S||!S.uid)continue;p[S.uid]||(p[S.uid]={});const T=o.value.insertRule(w.cssText,Number(g));p[S.uid][S.type]=o.value.cssRules.item(T)}return m&&m.remove(),p}function l(){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){if(!Object.keys(y).length)return;const g=a({"@media":{[xd]:{"--puid":`${m}-${p}`},...y}},v);if(!g)return;_&&d(_);const w=o.value.insertRule(g);return o.value.cssRules[w]}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:l,hydratableRules:h}}function uw(){return{cssRules:[],insertRule(e,t=this.cssRules.length){return this.cssRules.splice(t,1,{cssText:e}),t},deleteRule(e){delete this.cssRules[e]}}}function fw(e){const t=e.cssRules&&e.cssRules.length?Object.entries(e==null?void 0:e.cssRules).find(([s,i])=>i.selectorText===xd):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 dw(e,t,n){var a,c,u;let r;const o=(a=e==null?void 0:e.vnode)==null?void 0:a.el;o&&o.classList?o.classList.forEach(l=>{r||l.startsWith("pc-")&&(r=l.split("pc-")[1])}):r=Sa(6);const s=(u=(c=e==null?void 0:e.vnode)==null?void 0:c.type)==null?void 0:u.__scopeId,i={uid:r,componentId:s?`[${s}]`:"",uniqueClassName:`pc-${r}`};return t.value.c=i.uniqueClassName,ee(()=>i)}function hw(e,t={},n){const r=le(),o=le(e||{});t=Object.assign({key:"variable"},t||{});const s=tw(o,t);let i={};c();function a(p){var y;for(const _ of p.styleSheets)if((y=_==null?void 0:_.ownerNode)!=null&&y.textContent.includes("--pinceau-mq"))return _.ownerNode}function c(){var y;const p=globalThis||window;if(p&&p.document){let _=document.querySelector("#pinceau-theme");_||(_=a(document)),r.value=_==null?void 0:_.sheet,r.value&&u((y=r.value)==null?void 0:y.cssRules)}}function u(p){i={},Object.entries(p||{}).forEach(([y,_])=>{var g,w;if((_==null?void 0:_.type)!==4&&!((g=_==null?void 0:_.cssText)!=null&&g.includes("--pinceau-mq")))return!1;let v="initial";(w=_.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm))==null||w.forEach(S=>{var H;const[T,I]=S.replace(";","").split(/:\s(.*)/s);if(T==="--pinceau-mq"){if(v=I,!i[I]){const x=(H=Object.entries((_==null?void 0:_.cssRules)||{}).find(([P,C])=>C==null?void 0:C.cssText.includes(`--pinceau-mq: ${I}`)))==null?void 0:H[1];x&&(i[I]=x)}return}const L=[...T.substring(2).split("-")];yl(o.value,L,h(L,I,T,v))})})}function l(p){var v;const y=Array.from(new Set(["dark","light",...Object.keys((p==null?void 0:p.media)||{}),...Object.keys(((v=o.value)==null?void 0:v.media)||{})])),_=Sd(p||{},y,!0);Td(_,(g,w,S)=>f(S,g.value))}function f(p,y,_="initial"){var w;if(typeof y=="object"){Object.entries(y).forEach(([S,T])=>f(p,T,S));return}const v=Pd(p);i!=null&&i[_]||m(_);const g=Ad(void 0,y,[],{$tokens:s});yl(o.value,p,h(p,g,v,_)),(w=i==null?void 0:i[_])==null||w.style.setProperty(v,g)}function d(p){return ee({get(){return Do(o.value,`${p}.value`)},set(y){f(p,y)}})}function h(p,y,_,v="initial"){const g={value:y,variable:`var(${_})`},w=Do(o.value,p);return w&&!_.startsWith("--media")&&(typeof(w==null?void 0:w.value)=="object"?g.value={...w.value,[v]:y}:g.value={initial:w.value,[v]:y}),g}function m(p){if(i!=null&&i[p])return i==null?void 0:i[p];const y=sw(p,"",o.value,n),_=r.value.insertRule(y,r.value.cssRules.length);return i[p]=r.value.cssRules.item(_).cssRules[0],i[p]}return{$tokens:s,updateToken:f,updateTheme:l,reactiveToken:d,resolveStylesheet:c,theme:o}}function pw(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;ge(()=>t,a=>{a=mw(e.value,a),o=n.pushDeclaration(e.value.uid,"c",a,o,{...r,type:"c"})},{immediate:!o,deep:!0}),Cn(()=>o&&n.deleteRule(o))}function mw(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 u=M(c);if(!u)continue;a==="initial"&&(n[r]||(n[r]={}),n[r]||(n[r]={}),n[r][`--${o}`]=u);const l=`@${a}`;n[l]||(n[l]={}),n[l][r]||(n[l][r]={}),n[l][r][`--${Ti(o)}`]=u}else{const a=M(i);a&&(n[r][`--${Ti(o)}`]=a)}}}return n}const gw=(e,t,n,r,o,s)=>{var u,l;let i=(l=(u=r.hydratableRules)==null?void 0:u[e.value.uid])==null?void 0:l.v;const a=ee(()=>t?_w(e.value,n,t):{}),c=le([]);return ge(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-${Sa(6)}`;const{declaration:m,classes:p}=yw(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}),Cn(()=>{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 yw(e,t,n,r){var i,a;let o=[];const s={};if(r&&Object.keys(r).length){const c=`.${e}`;for(const[u,l]of Object.entries(r))if(typeof l=="object")for(const[f,d]of Object.entries(l)){const h=(d==null?void 0:d.toString())||d,m=n[u][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]=Fn(s[c],m));const p=`@${f}`;s[p]||(s[p]={}),s[p][c]||(s[p][c]={}),s[p][c]=Fn(s[p][c],m)}else{const f=((i=l==null?void 0:l.toString)==null?void 0:i.call(l))||l,d=(a=n==null?void 0:n[u])==null?void 0:a[f];if(!d)continue;s[c]||(s[c]={}),s[c]=Fn(s[c],d)}}return{declaration:s,classes:o}}function _w(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,u])=>r+=`${i}:${c}:${u}|`):r+=`${i}:${a}|`,s[i]=a),s),{});return{cacheId:r,variantsProps:o}}function vw(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);ge(s,c=>{c=bw(e.value,c),o&&n.deleteRule(o),o=n.pushDeclaration(e.value.uid,"p",c,o,{...r,type:"c"})},{immediate:!o}),Cn(()=>o&&n.deleteRule(o))}function bw(e,t){const n={};if(t){const r=`.${e.uniqueClassName}${e.componentId}`;n[r]=Object.assign(n[r]||{},t)}return n}const ww={theme:{},utils:{},tokensHelperConfig:{},multiApp:!1,colorSchemeMode:"media",dev:!1},Ew={install(e,t){t=Object.assign(ww,t);const{theme:n,tokensHelperConfig:r,dev:o,multiApp:s,colorSchemeMode:i,utils:a}=t,c=hw(n,r,i),u=s?Sa(6):void 0,l=lw(c.$tokens,a,i,u);function f(d={},h,m){const p=mt();let y;const _=le({v:"",c:""}),v=dw(p,_);m&&Object.keys(m).length>0&&pw(v,m,l,y);let g;if(h&&Object.keys(h).length>0){const{variantsClasses:w}=gw(v,h,d,l,_,y);g=w}return d!=null&&d.css&&Object.keys(d==null?void 0:d.css).length>0&&vw(v,d,l,y),{$pinceau:ee(()=>{var w;return[_.value.v,_.value.c,(w=g==null?void 0:g.value)==null?void 0:w.join(" ")].join(" ")})}}e.config.globalProperties.$pinceauRuntime=f,e.config.globalProperties.$pinceauTheme=c,e.config.globalProperties.$pinceauSsr={get:()=>l.toString()},e.provide("pinceauRuntime",f),e.provide("pinceauTheme",c)}};function Cw(e,t,n){return He("pinceauRuntime")(e,t,n)}function DP(){return He("pinceauTheme")}function HP(e,t=!1){return{type:[String,Object],default:e,required:t}}const Tw=e=>({marginTop:e,marginBottom:e}),Sw=e=>({marginLeft:e,marginRight:e}),Pw=e=>({paddingTop:e,paddingBottom:e}),Aw=e=>({paddingLeft:e,paddingRight:e}),xw={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Rw=e=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":e}),Iw=e=>({fontSize:`{text.${e}.fontSize}`,lineHeight:`{text.${e}.lineHeight}`}),Lw=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`}}}}),Ow={my:Tw,mx:Sw,py:Pw,px:Aw,truncate:xw,lineClamp:Rw,text:Iw,stateColors:Lw},kw=Be(async e=>e.vueApp.use(Ew,{colorSchemeMode:"class",utils:Ow})),$w="__NUXT_COLOR_MODE__",Mw="ColorScheme",Nw="theme",Dw="nuxt-color-mode",At=window[$w],Hw=Be(e=>{const t=It("color-mode",()=>ot({preference:At.preference,value:At.value,unknown:!1,forced:!1})).value;Or({htmlAttrs:{[`data-${Nw}`]:ee(()=>t.value)}}),Ye().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"?At.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=At.getColorScheme())}))}ge(()=>t.preference,o=>{var s;t.forced||(o==="system"?(t.value=At.getColorScheme(),r()):t.value=o,(s=window.localStorage)==null||s.setItem(Dw,o))},{immediate:!0}),ge(()=>t.value,(o,s)=>{At.removeColorScheme(s),At.addColorScheme(o)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=At.preference,t.value=At.value,t.unknown=!1)}),e.provide("colorMode",t)});function qn(e,...t){xm(`[vue-recaptcha]: ${e}`,...t)}function as(e,t){if(!e)throw qn(t),new Error(`Invariant violation: ${t}`)}const Rd="vue-recaptcha-context";function cs(){const e=He(Rd);if(!e)throw qn("You may forget to `use` vue-recaptcha plugin"),new Error("useRecaptcha() is called without provider.");return e}function jP(){return cs().proxy}function FP(){const e=cs();return as(e.options.v2SiteKey,"Your config is not compatible with recaptcha v2, please provide v2SiteKey"),e.options.v2SiteKey}function VP(){const e=cs();return as(e.options.v3SiteKey,"Your config is not compatible with recaptcha v3, please provide v3SiteKey"),e.options.v3SiteKey}function jw(e){var t;return as(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 Id(e){return t=>e(Vw(t))}function Vw(e){return{...e,recaptchaApiURL:e.recaptchaApiURL??(e.useRecaptchaNet?"https://www.recaptcha.net/recaptcha/api.js":"https://www.google.com/recaptcha/api.js")}}const ls=Fw(),mo="__vueRecaptchaLoaded";typeof window<"u"&&(window[mo]=()=>{ls.resolve()});function Ld(e){return new URLSearchParams(Bw(e)).toString()}function Bw(e){const t=Fn(e,{onload:mo,render:"explicit"});return t.render==="onload"&&(qn("passing `onload` as `render` param is not allowed"),t.render="explicit"),t.onload!==mo&&(qn("passing `onload` param with other value is not allowed"),t.onload=mo),zw(t)}function zw(e){return Object.entries(e).filter(t=>typeof t[1]=="string")}function Od(){if(typeof window>"u")return!1;const e=Object.hasOwn(window,"grecaptcha")&&Object.hasOwn(window.grecaptcha,"execute");return e&&ls.resolve(),e}function Uw(e,t){function n(){as(e.value,"ReCAPTCHA is not loaded")}async function r(){await ls.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)}}}const Kw=Id(e=>()=>{Tt(()=>{const t=document.createElement("script");t.src=`${e.recaptchaApiURL}?${Ld(e.params)}`,t.async=!0,t.defer=!0,e.nonce&&(t.nonce=e.nonce),document.head.append(t)})});function Ww(e=[]){const{getRecaptcha:t,scriptLoader:n}=Object.assign({scriptLoader:Kw,getRecaptcha:()=>window.grecaptcha},...e);return{install(r,o){const s=le(!1);async function i(){await ls.promise,s.value=!0}i().catch(c=>qn("fail to load reCAPTCHA script",c)),Od();const a=jw(o);r.provide(Rd,{isReady:s,scriptInjected:!1,proxy:Uw(s,t),useScriptProvider:n(a.loaderOptions),options:a})}}}const qw=Id(e=>()=>{Or({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}?${Ld(e.params)}`,async:!0,defer:!0,nonce:e.nonce}]})}),Gw=Be(({vueApp:e})=>{const{public:{recaptcha:t}}=Je();e.use(Ww([{scriptLoader:qw}]),t)}),Qw=Be(()=>{}),Jw=Be({name:"nuxt:chunk-reload",setup(e){const t=Ye(),n=Je(),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[0]==="#"?n.app.baseURL+s.href:Pn(n.app.baseURL,s.fullPath);N1({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),Yw=Be(e=>{const t=le(!1),n=()=>t.value=!0,r=()=>t.value=!1,o=()=>t.value=!t.value;return e.$router.afterEach(()=>setTimeout(r,50)),ge(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}}}}),Zw=Be(()=>{navigator&&navigator.userAgent&&navigator.userAgent.match(/Win[a-z0-9]*;/)&&document.documentElement.classList.add("docus-scrollbars")}),Xw=[Z_,ev,p0,g0,y0,g1,y1,J1,Y1,kw,Hw,Gw,Qw,Jw,Yw,Zw],eE=["p","h1","h2","h3","h4","h5","h6","li"];function Ho(e,t){return e.type===t||typeof e.type=="object"&&e.type.tag===t||e.tag===t}function Pa(e){return Ho(e,"text")||Ho(e,Symbol.for("v-txt"))}function kd(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 Si(e){if(!e)return"";if(Array.isArray(e))return e.map(Si).join("");if(Pa(e))return e.children||e.value||"";const t=kd(e);return Array.isArray(t)?t.map(Si).filter(Boolean).join(""):""}function $d(e,t=[]){if(Array.isArray(e))return e.flatMap(r=>$d(r,t));let n=e;return t.some(r=>r==="*"||Ho(e,r))&&(n=kd(e)||e,!Array.isArray(n)&&eE.some(r=>Ho(e,r))&&(n=[n])),n}function Md(e,t=[]){return e=Array.isArray(e)?e:[e],t.length?e.flatMap(n=>Md($d(n,[t[0]]),t.slice(1))).filter(n=>!(Pa(n)&&Si(n).trim()==="")):e}function tE(e,t=[]){return typeof t=="string"&&(t=t.split(",").map(n=>n.trim()).filter(Boolean)),t.length?Md(e,t).reduce((n,r)=>(Pa(r)?typeof n[n.length-1]=="string"?n[n.length-1]+=r.children:n.push(r.children):n.push(r),n),[]):e}const nE=(e,t,n,...r)=>e[t]?Ar({...e,[t]:()=>tE(e[t](),n==null?void 0:n.unwrap)},t,n,...r):Ar(e,t,n,...r),rE={class:"alert-content"},oE=xe({__name:"Alert",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(t,n)=>(W(),ue("div",{class:Fe(["alert",[e.type]])},[ie("div",rE,[nE(t.$slots,"default",{unwrap:"p"},void 0,!0)])],2))}}),ze=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Nd=ze(oE,[["__scopeId","data-v-ed5d92b1"]]),sE=Object.freeze(Object.defineProperty({__proto__:null,default:Nd},Symbol.toStringTag,{value:"Module"})),iE=xe({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 yn(ns,Yt(r)),()=>rt(e.vnode,{ref:e.vnodeRef})}}),aE=xe({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=ye(),o=le(),s=He(ns,null);let i;n({pageRef:o});const a=He(Hy,null);let c;const u=r.deferHydration();if(r.isHydrating){const l=r.hooks.hookOnce("app:error",u);Ye().beforeEach(l)}return e.pageKey&&ge(()=>e.pageKey,(l,f)=>{l!==f&&r.callHook("page:loading:start")}),()=>rt(dd,{name:e.name,route:e.route,...t},{default:l=>{const f=lE(s,l.route,l.Component),d=s&&s.matched.length===l.route.matched.length;if(!l.Component){if(c&&!d)return c;u();return}if(c&&a&&!a.isCurrent(l.route))return c;if(f&&s&&(!a||a!=null&&a.isCurrent(s)))return d?c:null;const h=Ei(l,e.pageKey);!r.isHydrating&&!uE(s,l.route,l.Component)&&i===h&&r.callHook("page:loading:end"),i=h;const m=!!(e.transition??l.route.meta.pageTransition??_i),p=m&&cE([e.transition,l.route.meta.pageTransition,_i,{onAfterLeave:()=>{r.callHook("page:transition:finish",l.Component)}}].filter(Boolean)),y=e.keepalive??l.route.meta.keepalive??z_;return c=s0(ua,m&&p,o0(y,rt(Hu,{suspensible:!0,onPending:()=>r.callHook("page:start",l.Component),onResolve:()=>{Ct(()=>r.callHook("page:finish",l.Component).then(()=>r.callHook("page:loading:end")).finally(u))}},{default:()=>{const _=rt(iE,{key:h||void 0,vnode:l.Component,route:l.route,renderKey:h||void 0,trackRootNodes:m,vnodeRef:o});return y&&(_.type.name=l.Component.type.name||l.Component.type.__name||"RouteProvider"),_}}))).default(),c}})}});function cE(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?ba(n.onAfterLeave):void 0}));return Fn(...t)}function lE(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&&Ei({route:t,Component:n})!==Ei({route:e,Component:n})}function uE(e,t,n){return e?t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)}){r.show=!1,setTimeout(()=>{r.percent=0},400)},500)}function d(){r.show=!0,i=1e4/Math.floor(t.duration),o=fE(()=>{u(i)},100)}return n.hook("content:middleware:start",c),n.hook("page:start",c),n.hook("page:finish",l),Yn(()=>a),(h,m)=>(W(),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))}},dE=Object.freeze(Object.defineProperty({__proto__:null,default:Dd},Symbol.toStringTag,{value:"Module"})),Hd=Object.freeze({left:0,top:0,width:16,height:16}),jd=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Aa=Object.freeze({...Hd,...jd});Object.freeze({...Aa,body:"",hidden:!1});({...Hd});const Fd=Object.freeze({width:null,height:null}),Vd=Object.freeze({...Fd,...jd});function hE(e,t){const n={...e};for(const r in t){const o=t[r],s=typeof o;r in Fd?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const pE=/[\s,]+/;function mE(e,t){t.split(pE).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function gE(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 yE=/(-?[0-9.]*[0-9]+[0-9.]*)/g,_E=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function bl(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(yE);if(r===null||!r.length)return e;const o=[];let s=r.shift(),i=_E.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 vE=e=>e==="unset"||e==="undefined"||e==="none";function bE(e,t){const n={...Aa,...e},r={...Vd,...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,_=m.vFlip;let v=m.rotate;y?_?v+=2:(p.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),p.push("scale(-1 1)"),o.top=o.left=0):_&&(p.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),p.push("scale(1 -1)"),o.top=o.left=0);let g;switch(v<0&&(v-=Math.floor(v/4)*4),v=v%4,v){case 1:g=o.height/2+o.top,p.unshift("rotate(90 "+g.toString()+" "+g.toString()+")");break;case 2:p.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:g=o.width/2+o.left,p.unshift("rotate(-90 "+g.toString()+" "+g.toString()+")");break}v%2===1&&(o.left!==o.top&&(g=o.left,o.left=o.top,o.top=g),o.width!==o.height&&(g=o.width,o.width=o.height,o.height=g)),p.length&&(s=''+s+"")});const i=r.width,a=r.height,c=o.width,u=o.height;let l,f;i===null?(f=a===null?"1em":a==="auto"?u:a,l=bl(f,c/u)):(l=i==="auto"?c:i,f=a===null?bl(l,u/c):a==="auto"?u:a);const d={},h=(m,p)=>{vE(p)||(d[m]=p.toString())};return h("width",l),h("height",f),d.viewBox=o.left.toString()+" "+o.top.toString()+" "+c.toString()+" "+u.toString(),{attributes:d,body:s}}const wE=/\sid="(\S+)"/g,EE="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let CE=0;function TE(e,t=EE){const n=[];let r;for(;r=wE.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+(CE++).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 SE(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 PE(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function AE(e){return'url("data:image/svg+xml,'+PE(e)+'")'}const wl={...Vd,inline:!1},xE={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},RE={display:"inline-block"},Pi={backgroundColor:"currentColor"},Bd={backgroundColor:"transparent"},El={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Cl={webkitMask:Pi,mask:Pi,background:Bd};for(const e in Cl){const t=Cl[e];for(const n in El)t[e+n]=El[n]}const go={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";go[e+"-flip"]=t,go[e.slice(0,1)+"-flip"]=t,go[e+"Flip"]=t});function Tl(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const IE=(e,t)=>{const n=hE(wl,t),r={...xE},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"&&mE(n,y);break;case"color":s.color=y;break;case"rotate":typeof y=="string"?n[p]=gE(y):typeof y=="number"&&(n[p]=y);break;case"ariaHidden":case"aria-hidden":y!==!0&&y!=="true"&&delete r["aria-hidden"];break;default:{const _=go[p];_?(y===!0||y==="true"||y===1)&&(n[_]=!0):wl[p]===void 0&&(r[p]=y)}}}const c=bE(e,n),u=c.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...a},Object.assign(r,u);let p=0,y=t.id;return typeof y=="string"&&(y=y.replace(/-/g,"_")),r.innerHTML=TE(c.body,y?()=>y+"ID"+p++:"iconifyVue"),rt("svg",r)}const{body:l,width:f,height:d}=e,h=o==="mask"||(o==="bg"?!1:l.indexOf("currentColor")!==-1),m=SE(l,{...u,width:f+"",height:d+""});return r.style={...s,"--svg":AE(m),width:Tl(u.width),height:Tl(u.height),...RE,...h?Pi:Bd,...a},rt("span",r)},LE=Object.create(null),OE=xe({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:IE({...Aa,...n},e)}}),br=/^[a-z0-9]+(-[a-z0-9]+)*$/,us=(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(),u={provider:o.length>0?o[0]:r,prefix:c,name:a};return t&&!yo(u)?null:u}const s=o[0],i=s.split("-");if(i.length>1){const a={provider:r,prefix:i.shift(),name:i.join("-")};return t&&!yo(a)?null:a}if(n&&r===""){const a={provider:r,prefix:"",name:s};return t&&!yo(a,n)?null:a}return null},yo=(e,t)=>e?!!((e.provider===""||e.provider.match(br))&&(t&&e.prefix===""||e.prefix.match(br))&&e.name.match(br)):!1,zd=Object.freeze({left:0,top:0,width:16,height:16}),jo=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),xa=Object.freeze({...zd,...jo}),Ai=Object.freeze({...xa,body:"",hidden:!1});function kE(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 Sl(e,t){const n=kE(e,t);for(const r in Ai)r in jo?r in e&&!(r in n)&&(n[r]=jo[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function $E(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 ME(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let s={};function i(a){s=Sl(r[a]||o[a],s)}return i(t),n.forEach(i),Sl(e,s)}function Ud(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=$E(e);for(const o in r){const s=r[o];s&&(t(o,ME(e,o,s)),n.push(o))}return n}const NE={provider:"",aliases:{},not_found:{},...zd};function Ms(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Kd(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ms(e,NE))return null;const n=t.icons;for(const o in n){const s=n[o];if(!o.match(br)||typeof s.body!="string"||!Ms(s,Ai))return null}const r=t.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(br)||typeof i!="string"||!n[i]&&!r[i]||!Ms(s,Ai))return null}return t}const Pl=Object.create(null);function DE(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function bn(e,t){const n=Pl[e]||(Pl[e]=Object.create(null));return n[t]||(n[t]=DE(e,t))}function Ra(e,t){return Kd(t)?Ud(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function HE(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let $r=!1;function Wd(e){return typeof e=="boolean"&&($r=e),$r}function jE(e){const t=typeof e=="string"?us(e,!0,$r):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 FE(e,t){const n=us(e,!0,$r);if(!n)return!1;const r=bn(n.provider,n.prefix);return HE(r,n.name,t)}function VE(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),$r&&!t&&!e.prefix){let o=!1;return Kd(e)&&(e.prefix="",Ud(e,(s,i)=>{i&&FE(s,i)&&(o=!0)})),o}const n=e.prefix;if(!yo({provider:t,prefix:n,name:"a"}))return!1;const r=bn(t,n);return!!Ra(r,e)}const BE=Object.freeze({width:null,height:null}),zE=Object.freeze({...BE,...jo});""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);const xi=Object.create(null);function UE(e,t){xi[e]=t}function Ri(e){return xi[e]||xi[""]}function Ia(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 La=Object.create(null),or=["https://api.simplesvg.com","https://api.unisvg.com"],_o=[];for(;or.length>0;)or.length===1||Math.random()>.5?_o.push(or.shift()):_o.push(or.pop());La[""]=Ia({resources:["https://api.iconify.design"].concat(_o)});function KE(e,t){const n=Ia(t);return n===null?!1:(La[e]=n,!0)}function Oa(e){return La[e]}const WE=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let Al=WE();function qE(e,t){const n=Oa(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 GE(e){return e===404}const QE=(e,t,n)=>{const r=[],o=qE(e,t),s="icons";let i={type:s,provider:e,prefix:t,icons:[]},a=0;return n.forEach((c,u)=>{a+=c.length+1,a>=o&&u>0&&(r.push(i),i={type:s,provider:e,prefix:t,icons:[]},a=c.length),i.icons.push(c)}),r.push(i),r};function JE(e){if(typeof e=="string"){const t=Oa(e);if(t)return t.path}return"/"}const YE=(e,t,n)=>{if(!Al){n("abort",424);return}let r=JE(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;Al(e+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(GE(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)})},ZE={prepare:QE,send:YE};function XE(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)),u=c[i]||(c[i]=bn(s,i));let l;a in u.icons?l=t.loaded:i===""||u.missing.has(a)?l=t.missing:l=t.pending;const f={provider:s,prefix:i,name:a};l.push(f)}),t}function qd(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function eC(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 u=c.name;if(e.icons[u])i.loaded.push({provider:r,prefix:o,name:u});else if(e.missing.has(u))i.missing.push({provider:r,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==a&&(n||qd([e],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let tC=0;function nC(e,t,n){const r=tC++,o=qd.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 rC(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const s=typeof o=="string"?us(o,t,n):o;s&&r.push(s)}),r}var oC={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sC(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 T=e.resources.slice(0);for(i=[];T.length>1;){const I=Math.floor(Math.random()*T.length);i.push(T[I]),T=T.slice(0,I).concat(T.slice(I+1))}i=i.concat(T)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));const a=Date.now();let c="pending",u=0,l,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(T=>{T.status==="pending"&&(T.status="aborted")}),d=[]}function y(T,I){I&&(h=[]),typeof T=="function"&&h.push(T)}function _(){return{startTime:a,payload:t,status:c,queriesSent:u,queriesPending:d.length,subscribe:y,abort:p}}function v(){c="failed",h.forEach(T=>{T(void 0,l)})}function g(){d.forEach(T=>{T.status==="pending"&&(T.status="aborted")}),d=[]}function w(T,I,L){const H=I!=="success";switch(d=d.filter(x=>x!==T),c){case"pending":break;case"failed":if(H||!e.dataAfterTimeout)return;break;default:return}if(I==="abort"){l=L,v();return}if(H){l=L,d.length||(i.length?S():v());return}if(m(),g(),!e.random){const x=e.resources.indexOf(T.resource);x!==-1&&x!==e.index&&(e.index=x)}c="completed",h.forEach(x=>{x(L)})}function S(){if(c!=="pending")return;m();const T=i.shift();if(T===void 0){if(d.length){f=setTimeout(()=>{m(),c==="pending"&&(g(),v())},e.timeout);return}v();return}const I={status:"pending",resource:T,callback:(L,H)=>{w(I,L,H)}};d.push(I),u++,f=setTimeout(S,e.rotate),n(T,t,I.callback)}return setTimeout(S),_}function Gd(e){const t={...oC,...e};let n=[];function r(){n=n.filter(a=>a().status==="pending")}function o(a,c,u){const l=sC(t,a,c,(f,d)=>{r(),u&&u(f,d)});return n.push(l),l}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 xl(){}const Ns=Object.create(null);function iC(e){if(!Ns[e]){const t=Oa(e);if(!t)return;const n=Gd(t),r={config:t,redundancy:n};Ns[e]=r}return Ns[e]}function aC(e,t,n){let r,o;if(typeof e=="string"){const s=Ri(e);if(!s)return n(void 0,424),xl;o=s.send;const i=iC(e);i&&(r=i.redundancy)}else{const s=Ia(e);if(s){r=Gd(s);const i=e.resources?e.resources[0]:"",a=Ri(i);a&&(o=a.send)}}return!r||!o?(n(void 0,424),xl):r.query(t,o,n)().abort}const Rl="iconify2",Mr="iconify",Qd=Mr+"-count",Il=Mr+"-version",Jd=36e5,cC=168;function Ii(e,t){try{return e.getItem(t)}catch{}}function ka(e,t,n){try{return e.setItem(t,n),!0}catch{}}function Ll(e,t){try{e.removeItem(t)}catch{}}function Li(e,t){return ka(e,Qd,t.toString())}function Oi(e){return parseInt(Ii(e,Qd))||0}const fs={local:!0,session:!0},Yd={local:new Set,session:new Set};let $a=!1;function lC(e){$a=e}let so=typeof window>"u"?{}:window;function Zd(e){const t=e+"Storage";try{if(so&&so[t]&&typeof so[t].length=="number")return so[t]}catch{}fs[e]=!1}function Xd(e,t){const n=Zd(e);if(!n)return;const r=Ii(n,Il);if(r!==Rl){if(r){const a=Oi(n);for(let c=0;c{const c=Mr+a.toString(),u=Ii(n,c);if(typeof u=="string"){try{const l=JSON.parse(u);if(typeof l=="object"&&typeof l.cached=="number"&&l.cached>o&&typeof l.provider=="string"&&typeof l.data=="object"&&typeof l.data.prefix=="string"&&t(l,a))return!0}catch{}Ll(n,c)}};let i=Oi(n);for(let a=i-1;a>=0;a--)s(a)||(a===i-1?(i--,Li(n,i)):Yd[e].add(a))}function eh(){if(!$a){lC(!0);for(const e in fs)Xd(e,t=>{const n=t.data,r=t.provider,o=n.prefix,s=bn(r,o);if(!Ra(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function uC(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in fs)Xd(r,o=>{const s=o.data;return o.provider!==e.provider||s.prefix!==e.prefix||s.lastModified===t});return!0}function fC(e,t){$a||eh();function n(r){let o;if(!fs[r]||!(o=Zd(r)))return;const s=Yd[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=Oi(o),!Li(o,i+1))return;const a={cached:Math.floor(Date.now()/Jd),provider:e.provider,data:t};return ka(o,Mr+i.toString(),JSON.stringify(a))}t.lastModified&&!uC(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function Ol(){}function dC(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,eC(e)}))}function hC(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=Ri(n)))return;s.prepare(n,r,o).forEach(a=>{aC(n,a,c=>{if(typeof c!="object")a.icons.forEach(u=>{e.missing.add(u)});else try{const u=Ra(e,c);if(!u.length)return;const l=e.pendingIcons;l&&u.forEach(f=>{l.delete(f)}),fC(e,c)}catch(u){console.error(u)}dC(e)})})}))}const pC=(e,t)=>{const n=rC(e,!0,Wd()),r=XE(n);if(!r.pending.length){let c=!0;return t&&setTimeout(()=>{c&&t(r.loaded,r.missing,r.pending,Ol)}),()=>{c=!1}}const o=Object.create(null),s=[];let i,a;return r.pending.forEach(c=>{const{provider:u,prefix:l}=c;if(l===a&&u===i)return;i=u,a=l,s.push(bn(u,l));const f=o[u]||(o[u]=Object.create(null));f[l]||(f[l]=[])}),r.pending.forEach(c=>{const{provider:u,prefix:l,name:f}=c,d=bn(u,l),h=d.pendingIcons||(d.pendingIcons=new Set);h.has(f)||(h.add(f),o[u][l].push(f))}),s.forEach(c=>{const{provider:u,prefix:l}=c;o[u][l].length&&hC(c,o[u][l])}),t?nC(t,r,s):Ol},mC=e=>new Promise((t,n)=>{const r=typeof e=="string"?us(e,!0):e;if(!r){n(e);return}pC([r||e],o=>{if(o.length&&r){const s=jE(r);if(s){t({...xa,...s});return}}n(e)})});({...zE});const kl={backgroundColor:"currentColor"},gC={backgroundColor:"transparent"},$l={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Ml={webkitMask:kl,mask:kl,background:gC};for(const e in Ml){const t=Ml[e];for(const n in $l)t[e+n]=$l[n]}const Ds={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";Ds[e+"-flip"]=t,Ds[e.slice(0,1)+"-flip"]=t,Ds[e+"Flip"]=t});Wd(!0);UE("",ZE);if(typeof document<"u"&&typeof window<"u"){eh();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;KE(n,o)||console.error(r)}catch{console.error(r)}}}}({...xa});const yC=["width","height"],_C=xe({__name:"Icon",props:{name:{type:String,required:!0},size:{type:String,default:""}},async setup(e){var m;let t,n;const r=ye(),o=ga();(m=o==null?void 0:o.nuxtIcon)!=null&&m.aliases;const s=e,i=It("icons",()=>({})),a=le(!1),c=ee(()=>{var p;return(((p=o.nuxtIcon)==null?void 0:p.aliases)||{})[s.name]||s.name}),u=ee(()=>{var p;return(p=i.value)==null?void 0:p[c.value]}),l=ee(()=>r.vueApp.component(c.value)),f=ee(()=>{var y,_,v;if(!s.size&&typeof((y=o.nuxtIcon)==null?void 0:y.size)=="boolean"&&!((_=o.nuxtIcon)!=null&&_.size))return;const p=s.size||((v=o.nuxtIcon)==null?void 0:v.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;l.value||(p=i.value)!=null&&p[c.value]||(a.value=!0,i.value[c.value]=await mC(c.value).catch(()=>{}),a.value=!1)}return ge(()=>c.value,h),!l.value&&([t,n]=Zu(()=>h()),t=await t,n()),(p,y)=>M(a)?(W(),ue("span",{key:0,class:Fe(M(d)),width:M(f),height:M(f)},null,10,yC)):M(u)?(W(),de(M(OE),{key:1,icon:M(u),class:Fe(M(d)),width:M(f),height:M(f)},null,8,["icon","class","width","height"])):M(l)?(W(),de(Yo(M(l)),{key:2,class:Fe(M(d)),width:M(f),height:M(f)},null,8,["class","width","height"])):(W(),ue("span",{key:3,class:Fe(M(d)),style:Qn({fontSize:M(f),lineHeight:M(f),width:M(f),height:M(f)})},kt(e.name),7))}}),Ht=ze(_C,[["__scopeId","data-v-92518cc2"]]),vC=Object.freeze(Object.defineProperty({__proto__:null,default:Ht},Symbol.toStringTag,{value:"Module"})),nn=()=>{const e=ee(()=>{var u;return((u=ga())==null?void 0:u.docus)||{}}),{navPageFromPath:t,navDirFromPath:n,navKeyFromPath:r}=wa(),{navigation:o,page:s}=Ur(),i=ut(),a=ee(()=>{var m,p,y,_,v,g,w,S,T,I,L;const u=((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"}`,l=((_=e==null?void 0:e.value)==null?void 0:_.main)||{},f=((v=e==null?void 0:e.value)==null?void 0:v.header)||{},d=((g=e==null?void 0:e.value)==null?void 0:g.aside)||{},h=((w=e==null?void 0:e.value)==null?void 0:w.footer)||{};return{...e.value,titleTemplate:u,main:{...l,...r(i.path,"main",o.value||[]),...(S=s.value)==null?void 0:S.main},header:{...f,...r(i.path,"header",o.value||[]),...(T=s.value)==null?void 0:T.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||[]),...(L=s.value)==null?void 0:L.footer}}});return{tree:ee(()=>{var h,m,p,y,_;let u=o.value||[];const l=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 g=l.split("/").splice(0,1+f).join("/");u=n(g,u)||[],Array.isArray(u)||(u=[u])}if(u.length===0){if(u=t(((_=s.value)==null?void 0:_._path)||"/",o.value||[]),!u)return[];Array.isArray(u)||(u=[u])}return u.filter(v=>!d.includes(v._path))}),config:a}},bC=xe({__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=Ht,a=zr;return W(!0),ue(Pe,null,Vn(M(r),c=>(W(),de(a,{key:c.label,rel:c.rel,title:c.label,"aria-label":c.label,href:c.href,target:"_blank"},{default:Qe(()=>[c.icon?(W(),de(i,{key:0,name:c.icon},null,8,["name"])):Ve("",!0)]),_:2},1032,["rel","title","aria-label","href"]))),128)}}}),ds=ze(bC,[["__scopeId","data-v-14409a5c"]]),wC=Object.freeze(Object.defineProperty({__proto__:null,default:ds},Symbol.toStringTag,{value:"Module"})),EC={class:"docs-aside-tree"},CC=["onClick"],TC={class:"content"},SC={class:"content"},PC=xe({__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 u;const t=e,n=ut(),{config:r}=nn(),o=It(`docus-docs-aside-collapse-map-${((u=t.parent)==null?void 0:u._path)||"/"}`,()=>t.level===0?{}:t.links.filter(l=>!!l.children).reduce((l,f)=>(l[f._path]=!0,l),{})),s=l=>n.path===l._path,i=l=>{var f,d,h,m;if(l.children){if(typeof o.value[l._path]<"u")return o.value[l._path];if([!0,!1].includes((f=l==null?void 0:l.aside)==null?void 0:f.collapsed))return l.aside.collapsed;if(l!=null&&l.collapsed)return l==null?void 0:l.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=l=>o.value[l._path]=!i(l),c=ee(()=>t.links.some(l=>l.children));return(l,f)=>{const d=Ht,h=zr,m=Ma;return W(),ue("ul",EC,[(W(!0),ue(Pe,null,Vn(e.links,p=>{var y,_,v,g,w;return W(),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?(W(),ue("button",{key:0,class:"title-collapsible-button",onClick:S=>a(p)},[ie("span",TC,[(_=p==null?void 0:p.navigation)!=null&&_.icon||p.icon?(W(),de(d,{key:0,name:((v=p==null?void 0:p.navigation)==null?void 0:v.icon)||p.icon,class:"icon"},null,8,["name"])):Ve("",!0),ie("span",null,kt(((g=p==null?void 0:p.navigation)==null?void 0:g.title)||p.title||p._path),1)]),ie("span",null,[se(d,{name:i(p)?"lucide:chevrons-up-down":"lucide:chevrons-down-up",class:"collapsible-icon"},null,8,["name"])])],8,CC)):(W(),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:Qe(()=>{var S,T,I;return[ie("span",SC,[(S=p==null?void 0:p.navigation)!=null&&S.icon||p.icon?(W(),de(d,{key:0,name:((T=p==null?void 0:p.navigation)==null?void 0:T.icon)||p.icon,class:"icon"},null,8,["name"])):Ve("",!0),ie("span",null,kt(((I=p==null?void 0:p.navigation)==null?void 0:I.title)||p.title||p._path),1)])]}),_:2},1032,["to","exact","class"])),(w=p.children)!=null&&w.length&&(e.max===null||e.level+1{const{$menu:e}=ye();return e},xC={class:"wrapper"},RC={class:"icons"},IC=xe({__name:"AppHeaderDialog",setup(e){const{navigation:t}=Ur(),{config:n}=nn(),r=le(!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}=th();return ge(r,c=>c?a():i()),(c,u)=>{const l=Ht,f=ds,d=Ma;return W(),ue(Pe,null,[ie("button",{"aria-label":"Menu",onClick:u[0]||(u[0]=h=>r.value=!0)},[se(l,{name:"heroicons-outline:menu","aria-hidden":"”true”"})]),(W(),de(ff,{to:"body"},[M(r)?(W(),ue("nav",{key:0,class:"dialog",onClick:u[3]||(u[3]=h=>r.value=!1)},[ie("div",{onClick:u[2]||(u[2]=cr(()=>{},["stop"]))},[ie("div",xC,[ie("button",{"aria-label":"Menu",onClick:u[1]||(u[1]=h=>r.value=!1)},[se(l,{name:"heroicons-outline:x","aria-hidden":"”true”"})]),ie("div",RC,[se(f)])]),se(d,{links:M(s)},null,8,["links"])])])):Ve("",!0)]))],64)}}}),nh=ze(IC,[["__scopeId","data-v-701eabae"]]),LC=Object.freeze(Object.defineProperty({__proto__:null,default:nh},Symbol.toStringTag,{value:"Module"})),OC={},kC={viewBox:"0 0 167 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},$C=vm('',7),MC=[$C];function NC(e,t){return W(),ue("svg",kC,MC)}const rh=ze(OC,[["render",NC],["__scopeId","data-v-37ee13f0"]]),DC=Object.freeze(Object.defineProperty({__proto__:null,default:rh},Symbol.toStringTag,{value:"Module"})),HC={key:0,class:"logo"},jC=["src"],FC=["src"],VC={key:1,class:"title"},BC=xe({__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=rh,a=zr;return W(),de(a,{class:"navbar-logo",to:"/","aria-label":M(r)},{default:Qe(()=>[M(n)?(W(),ue("span",HC,[typeof M(n)=="string"?(W(),de(Yo(M(n)),{key:0})):M(n).light&&M(n).dark?(W(),ue(Pe,{key:1},[ie("img",{src:M(n).light,alt:"",class:"light-img"},null,8,jC),ie("img",{src:M(n).dark,alt:"",class:"dark-img"},null,8,FC)],64)):M(n)?(W(),de(i,{key:2})):Ve("",!0)])):(W(),ue("span",VC,kt(M(r)),1))]),_:1},8,["aria-label"])}}}),oh=ze(BC,[["__scopeId","data-v-93f413e9"]]),zC=Object.freeze(Object.defineProperty({__proto__:null,default:oh},Symbol.toStringTag,{value:"Module"})),UC={key:0},KC=xe({__name:"AppHeaderNavigation",setup(e){const t=ut(),{navBottomLink:n}=wa(),{navigation:r}=Ur(),{config:o}=nn(),s=ee(()=>{var u;return!!((u=o.value.aside)!=null&&u.level)}),i=ee(()=>{var u;return((u=o.value.header)==null?void 0:u.exclude)||[]}),a=ee(()=>(r.value||[]).filter(u=>!i.value.includes(u._path))),c=u=>u.exact?t.fullPath===u._path:t.fullPath.startsWith(u._path);return(u,l)=>{const f=Ht,d=zr;return M(s)?(W(),ue("nav",UC,[ie("ul",null,[(W(!0),ue(Pe,null,Vn(M(a),h=>(W(),ue("li",{key:h._path},[se(d,{class:Fe(["link",{active:c(h)}]),to:h.redirect?h.redirect:M(n)(h)},{default:Qe(()=>{var m,p;return[h.icon&&((p=(m=M(o))==null?void 0:m.header)!=null&&p.showLinkIcon)?(W(),de(f,{key:0,name:h.icon},null,8,["name"])):Ve("",!0),Zn(" "+kt(h.title),1)]}),_:2},1032,["to","class"])]))),128))])])):Ve("",!0)}}}),sh=ze(KC,[["__scopeId","data-v-132dbb47"]]),WC=Object.freeze(Object.defineProperty({__proto__:null,default:sh},Symbol.toStringTag,{value:"Module"})),ih=()=>{const{$docSearch:e}=ye();return e||{hasDocSearch:le(!1)}},ah=e=>(ku("data-v-a87a80ab"),e=e(),$u(),e),qC={class:"content"},GC=ah(()=>ie("span",null,"Search",-1)),QC=ah(()=>ie("span",null,[ie("kbd",null,"⌘"),ie("kbd",null,"K")],-1)),JC=xe({__name:"AppDocSearch",setup(e){const{element:t}=ih(),n=()=>t.value.querySelector("button").click();return(r,o)=>{const s=Ht;return W(),ue("button",{type:"button","aria-label":"Search",onClick:n},[ie("span",qC,[se(s,{name:"heroicons-outline:search"}),GC,QC])])}}}),ch=ze(JC,[["__scopeId","data-v-a87a80ab"]]),YC=Object.freeze(Object.defineProperty({__proto__:null,default:ch},Symbol.toStringTag,{value:"Module"}));function Nt(e){return Array.isArray?Array.isArray(e):fh(e)==="[object Array]"}const ZC=1/0;function XC(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-ZC?"-0":t}function eT(e){return e==null?"":XC(e)}function wt(e){return typeof e=="string"}function lh(e){return typeof e=="number"}function tT(e){return e===!0||e===!1||nT(e)&&fh(e)=="[object Boolean]"}function uh(e){return typeof e=="object"}function nT(e){return uh(e)&&e!==null}function tt(e){return e!=null}function Hs(e){return!e.trim().length}function fh(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const rT="Incorrect 'index' type",oT=e=>`Invalid value for key ${e}`,sT=e=>`Pattern length exceeds max of ${e}.`,iT=e=>`Missing ${e} property in key`,aT=e=>`Property 'weight' in key '${e}' must be a positive integer`,Nl=Object.prototype.hasOwnProperty;class cT{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(r=>{let o=dh(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 dh(e){let t=null,n=null,r=null,o=1,s=null;if(wt(e)||Nt(e))r=e,t=Dl(e),n=ki(e);else{if(!Nl.call(e,"name"))throw new Error(iT("name"));const i=e.name;if(r=i,Nl.call(e,"weight")&&(o=e.weight,o<=0))throw new Error(aT(i));t=Dl(i),n=ki(i),s=e.getFn}return{path:t,id:n,weight:o,src:r,getFn:s}}function Dl(e){return Nt(e)?e:e.split(".")}function ki(e){return Nt(e)?e.join("."):e}function lT(e,t){let n=[],r=!1;const o=(s,i,a)=>{if(tt(s))if(!i[a])n.push(s);else{let c=i[a];const u=s[c];if(!tt(u))return;if(a===i.length-1&&(wt(u)||lh(u)||tT(u)))n.push(eT(u));else if(Nt(u)){r=!0;for(let l=0,f=u.length;le.score===t.score?e.idx{this._keysMap[n.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,wt(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();wt(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(tt(i)){if(Nt(i)){let a=[];const c=[{nestedArrIndex:-1,value:i}];for(;c.length;){const{nestedArrIndex:u,value:l}=c.pop();if(tt(l))if(wt(l)&&!Hs(l)){let f={v:l,i:u,n:this.norm.get(l)};a.push(f)}else Nt(l)&&l.forEach((f,d)=>{c.push({nestedArrIndex:d,value:f})})}r.$[s]=a}else if(wt(i)&&!Hs(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 hh(e,t,{getFn:n=ae.getFn,fieldNormWeight:r=ae.fieldNormWeight}={}){const o=new Na({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(dh)),o.setSources(t),o.create(),o}function gT(e,{getFn:t=ae.getFn,fieldNormWeight:n=ae.fieldNormWeight}={}){const{keys:r,records:o}=e,s=new Na({getFn:t,fieldNormWeight:n});return s.setKeys(r),s.setIndexRecords(o),s}function io(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 yT(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 fn=32;function _T(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:u=ae.ignoreLocation}={}){if(t.length>fn)throw new Error(sT(fn));const l=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 _;for(;(_=e.indexOf(t,m))>-1;){let I=io(t,{currentLocation:_,expectedLocation:d,distance:o,ignoreLocation:u});if(h=Math.min(I,h),m=_+l,p){let L=0;for(;L=x;V-=1){let J=V-1,F=n[e.charAt(J)];if(p&&(y[J]=+!!F),C[V]=(C[V+1]<<1|1)&F,I&&(C[V]|=(v[V+1]|v[V])<<1|1|v[V+1]),C[V]&S&&(g=io(t,{errors:I,currentLocation:J,expectedLocation:d,distance:o,ignoreLocation:u}),g<=h)){if(h=g,m=J,m<=d)break;x=Math.max(1,2*d-m)}}if(io(t,{errors:I+1,currentLocation:d,expectedLocation:d,distance:o,ignoreLocation:u})>h)break;v=C}const T={isMatch:m>=0,score:Math.max(.001,g)};if(p){const I=yT(y,a);I.length?c&&(T.indices=I):T.isMatch=!1}return T}function vT(e){let t={};for(let n=0,r=e.length;n{this.chunks.push({pattern:d,alphabet:vT(d),startIndex:h})},f=this.pattern.length;if(f>fn){let d=0;const h=f%fn,m=f-h;for(;d{const{isMatch:_,score:v,indices:g}=_T(t,m,p,{location:o+y,distance:s,threshold:i,findAllMatches:a,minMatchCharLength:c,includeMatches:r,ignoreLocation:u});_&&(d=!0),f+=v,_&&g&&(l=[...l,...g])});let h={isMatch:d,score:d?f/this.chunks.length:1};return d&&r&&(h.indices=l),h}}class rn{constructor(t){this.pattern=t}static isMultiMatch(t){return Hl(t,this.multiRegex)}static isSingleMatch(t){return Hl(t,this.singleRegex)}search(){}}function Hl(e,t){const n=e.match(t);return n?n[1]:null}class bT 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 wT 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 CT 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 TT 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 ST 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 mh 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:u=ae.ignoreLocation}={}){super(t),this._bitapSearch=new ph(t,{location:n,threshold:r,distance:o,includeMatches:s,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:c,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class gh 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 $i=[bT,gh,ET,CT,ST,TT,wT,mh],jl=$i.length,PT=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,AT="|";function xT(e,t={}){return e.split(AT).map(n=>{let r=n.trim().split(PT).filter(s=>s&&!!s.trim()),o=[];for(let s=0,i=r.length;s!!(e[Fo.AND]||e[Fo.OR]),OT=e=>!!e[Di.PATH],kT=e=>!Nt(e)&&uh(e)&&!Hi(e),Fl=e=>({[Fo.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function yh(e,t,{auto:n=!0}={}){const r=o=>{let s=Object.keys(o);const i=OT(o);if(!i&&s.length>1&&!Hi(o))return r(Fl(o));if(kT(o)){const c=i?o[Di.PATH]:s[0],u=i?o[Di.PATTERN]:o[c];if(!wt(u))throw new Error(oT(c));const l={keyId:ki(c),pattern:u};return n&&(l.searcher=Ni(u,t)),l}let a={children:[],operator:s[0]};return s.forEach(c=>{const u=o[c];Nt(u)&&u.forEach(l=>{a.children.push(r(l))})}),a};return Hi(e)||(e=Fl(e)),r(e)}function $T(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 MT(e,t){const n=e.matches;t.matches=[],tt(n)&&n.forEach(r=>{if(!tt(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 NT(e,t){t.score=e.score}function DT(e,t,{includeMatches:n=ae.includeMatches,includeScore:r=ae.includeScore}={}){const o=[];return n&&o.push(MT),r&&o.push(NT),e.map(s=>{const{idx:i}=s,a={item:t[i],refIndex:i};return o.length&&o.forEach(c=>{c(s,a)}),a})}class Xn{constructor(t,n={},r){this.options={...ae,...n},this.options.useExtendedSearch,this._keyStore=new cT(this.options.keys),this.setCollection(t,r)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Na))throw new Error(rT);this._myIndex=n||hh(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){tt(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)),DT(c,this._docs,{includeMatches:r,includeScore:o})}_searchStringList(t){const n=Ni(t,this.options),{records:r}=this._myIndex,o=[];return r.forEach(({v:s,i,n:a})=>{if(!tt(s))return;const{isMatch:c,score:u,indices:l}=n.searchIn(s);c&&o.push({item:s,idx:i,matches:[{score:u,value:s,norm:a,indices:l}]})}),o}_searchLogical(t){const n=yh(t,this.options),r=(a,c,u)=>{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:u,item:c,matches:h}]:[]}const l=[];for(let f=0,d=a.children.length;f{if(tt(a)){let u=r(n,a,c);u.length&&(s[c]||(s[c]={idx:c,item:a,matches:[]},i.push(s[c])),u.forEach(({matches:l})=>{s[c].matches.push(...l)}))}}),i}_searchObjectList(t){const n=Ni(t,this.options),{keys:r,records:o}=this._myIndex,s=[];return o.forEach(({$:i,i:a})=>{if(!tt(i))return;let c=[];r.forEach((u,l)=>{c.push(...this._findMatches({key:u,value:i[l],searcher:n}))}),c.length&&s.push({idx:a,item:i,matches:c})}),s}_findMatches({key:t,value:n,searcher:r}){if(!tt(n))return[];let o=[];if(Nt(n))n.forEach(({v:s,i,n:a})=>{if(!tt(s))return;const{isMatch:c,score:u,indices:l}=r.searchIn(s);c&&o.push({score:u,key:t,value:s,idx:i,norm:a,indices:l})});else{const{v:s,n:i}=n,{isMatch:a,score:c,indices:u}=r.searchIn(s);a&&o.push({score:c,key:t,value:s,norm:i,indices:u})}return o}}Xn.version="6.6.2";Xn.createIndex=hh;Xn.parseIndex=gT;Xn.config=ae;Xn.parseQuery=yh;LT(IT);function HT(e){return Hr()?(Cn(e),!0):!1}function xt(e){return typeof e=="function"?e():M(e)}function jT(e,t,n){const r=()=>{var i,a;return new Xn((i=xt(t))!=null?i:[],(a=xt(n))==null?void 0:a.fuseOptions)},o=le(r());ge(()=>{var i;return(i=xt(n))==null?void 0:i.fuseOptions},()=>{o.value=r()},{deep:!0}),ge(()=>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,u)=>({item:c,refIndex:u}));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 FT(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 @@ -29,10 +29,10 @@ Use "options.replacer" or "options.ignoreUnknown" * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE */function Bl(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 zl(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()}},aS=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},cS=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},wr=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},lS=function(t){return wr(t)&&!t.shiftKey},uS=function(t){return wr(t)&&t.shiftKey},Kl=function(t){return setTimeout(t,0)},Wl=function(t,n){var r=-1;return t.every(function(o,s){return n(o)?(r=s,!1):!0}),r},sr=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?A-1:0),J=1;J=0)P=r.activeElement;else{var C=i.tabbableGroups[0],A=C&&C.firstTabbableNode;P=A||l("fallbackFocus")}if(!P)throw new Error("Your focus-trap needs to have at least one focusable element");return P},d=function(){if(i.containerGroups=i.containers.map(function(P){var C=tS(P,s.tabbableOptions),A=nS(P,s.tabbableOptions),V=C.length>0?C[0]:void 0,J=C.length>0?C[C.length-1]:void 0,F=A.find(function(he){return xn(he)}),Q=A.slice().reverse().find(function(he){return xn(he)}),U=!!C.find(function(he){return dn(he)>0});return{container:P,tabbableNodes:C,focusableNodes:A,posTabIndexesFound:U,firstTabbableNode:V,lastTabbableNode:J,firstDomTabbableNode:F,lastDomTabbableNode:Q,nextTabbableNode:function(Le){var Oe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,we=C.indexOf(Le);return we<0?Oe?A.slice(A.indexOf(Le)+1).find(function(Ue){return xn(Ue)}):A.slice(0,A.indexOf(Le)).reverse().find(function(Ue){return xn(Ue)}):C[we+(Oe?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(P){return P.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!l("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(P){return P.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 x(P){if(P!==!1&&P!==r.activeElement){if(!P||!P.focus){x(f());return}P.focus({preventScroll:!!s.preventScroll}),i.mostRecentlyFocusedNode=P,aS(P)&&P.select()}},m=function(P){var C=l("setReturnFocus",P);return C||(C===!1?!1:P)},p=function(P){var C=P.target,A=P.event,V=P.isBackward,J=V===void 0?!1:V;C=C||ao(A),d();var F=null;if(i.tabbableGroups.length>0){var Q=u(C,A),U=Q>=0?i.containerGroups[Q]:void 0;if(Q<0)J?F=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:F=i.tabbableGroups[0].firstTabbableNode;else if(J){var he=Wl(i.tabbableGroups,function(gt){var Re=gt.firstTabbableNode;return C===Re});if(he<0&&(U.container===C||js(C,s.tabbableOptions)&&!xn(C,s.tabbableOptions)&&!U.nextTabbableNode(C,!1))&&(he=Q),he>=0){var Le=he===0?i.tabbableGroups.length-1:he-1,Oe=i.tabbableGroups[Le];F=dn(C)>=0?Oe.lastTabbableNode:Oe.lastDomTabbableNode}else wr(A)||(F=U.nextTabbableNode(C,!1))}else{var we=Wl(i.tabbableGroups,function(gt){var Re=gt.lastTabbableNode;return C===Re});if(we<0&&(U.container===C||js(C,s.tabbableOptions)&&!xn(C,s.tabbableOptions)&&!U.nextTabbableNode(C))&&(we=Q),we>=0){var Ue=we===i.tabbableGroups.length-1?0:we+1,st=i.tabbableGroups[Ue];F=dn(C)>=0?st.firstTabbableNode:st.firstDomTabbableNode}else wr(A)||(F=U.nextTabbableNode(C))}}else F=l("fallbackFocus");return F},y=function(P){var C=ao(P);if(!(u(C,P)>=0)){if(sr(s.clickOutsideDeactivates,P)){a.deactivate({returnFocus:s.returnFocusOnDeactivate});return}sr(s.allowOutsideClick,P)||P.preventDefault()}},_=function(P){var C=ao(P),A=u(C,P)>=0;if(A||C instanceof Document)A&&(i.mostRecentlyFocusedNode=C);else{P.stopImmediatePropagation();var V,J=!0;if(i.mostRecentlyFocusedNode)if(dn(i.mostRecentlyFocusedNode)>0){var F=u(i.mostRecentlyFocusedNode),Q=i.containerGroups[F].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(Le){return dn(Le)>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},v=function(P){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=P;var A=p({event:P,isBackward:C});A&&(wr(P)&&P.preventDefault(),h(A))},g=function(P){if(cS(P)&&sr(s.escapeDeactivates,P)!==!1){P.preventDefault(),a.deactivate();return}(s.isKeyForward(P)||s.isKeyBackward(P))&&v(P,s.isKeyBackward(P))},w=function(P){var C=ao(P);u(C,P)>=0||sr(s.clickOutsideDeactivates,P)||sr(s.allowOutsideClick,P)||(P.preventDefault(),P.stopImmediatePropagation())},S=function(){if(i.active)return Ul.activateTrap(o,a),i.delayInitialFocusTimer=s.delayInitialFocus?Kl(function(){h(f())}):h(f()),r.addEventListener("focusin",_,!0),r.addEventListener("mousedown",y,{capture:!0,passive:!1}),r.addEventListener("touchstart",y,{capture:!0,passive:!1}),r.addEventListener("click",w,{capture:!0,passive:!1}),r.addEventListener("keydown",g,{capture:!0,passive:!1}),a},T=function(){if(i.active)return r.removeEventListener("focusin",_,!0),r.removeEventListener("mousedown",y,!0),r.removeEventListener("touchstart",y,!0),r.removeEventListener("click",w,!0),r.removeEventListener("keydown",g,!0),a},I=function(P){var C=P.some(function(A){var V=Array.from(A.removedNodes);return V.some(function(J){return J===i.mostRecentlyFocusedNode})});C&&h(f())},L=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(I):void 0,H=function(){L&&(L.disconnect(),i.active&&!i.paused&&i.containers.map(function(P){L.observe(P,{subtree:!0,childList:!0})}))};return a={get active(){return i.active},get paused(){return i.paused},activate:function(P){if(i.active)return this;var C=c(P,"onActivate"),A=c(P,"onPostActivate"),V=c(P,"checkCanFocusTrap");V||d(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,C==null||C();var J=function(){V&&d(),S(),H(),A==null||A()};return V?(V(i.containers.concat()).then(J,J),this):(J(),this)},deactivate:function(P){if(!i.active)return this;var C=zl({onDeactivate:s.onDeactivate,onPostDeactivate:s.onPostDeactivate,checkCanReturnFocus:s.checkCanReturnFocus},P);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,T(),i.active=!1,i.paused=!1,H(),Ul.deactivateTrap(o,a);var A=c(C,"onDeactivate"),V=c(C,"onPostDeactivate"),J=c(C,"checkCanReturnFocus"),F=c(C,"returnFocus","returnFocusOnDeactivate");A==null||A();var Q=function(){Kl(function(){F&&h(m(i.nodeFocusedBeforeActivation)),V==null||V()})};return F&&J?(J(m(i.nodeFocusedBeforeActivation)).then(Q,Q),this):(Q(),this)},pause:function(P){if(i.paused||!i.active)return this;var C=c(P,"onPause"),A=c(P,"onPostPause");return i.paused=!0,C==null||C(),T(),H(),A==null||A(),this},unpause:function(P){if(!i.paused||!i.active)return this;var C=c(P,"onUnpause"),A=c(P,"onPostUnpause");return i.paused=!1,C==null||C(),d(),S(),H(),A==null||A(),this},updateContainerElements:function(P){var C=[].concat(P).filter(Boolean);return i.containers=C.map(function(A){return typeof A=="string"?r.querySelector(A):A}),i.active&&d(),H(),this}},a.updateContainerElements(t),a};function hS(e,t={}){let n;const{immediate:r,...o}=t,s=le(!1),i=le(!1),a=f=>n&&n.activate(f),c=f=>n&&n.deactivate(f),u=()=>{n&&(n.pause(),i.value=!0)},l=()=>{n&&(n.unpause(),i.value=!1)};return ge(()=>FT(e),f=>{f&&(n=dS(f,{...o,onActivate(){s.value=!0,t.onActivate&&t.onActivate()},onDeactivate(){s.value=!1,t.onDeactivate&&t.onDeactivate()}}),r&&a())},{flush:"post"}),HT(()=>c()),{hasFocus:s,isPaused:i,activate:a,deactivate:c,pause:u,unpause:l}}var ql;const hs=typeof window<"u",pS=e=>typeof e<"u",mS=e=>typeof e=="function",gS=e=>typeof e=="string",Da=()=>{},yS=hs&&((ql=window==null?void 0:window.navigator)==null?void 0:ql.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Rt(e){return typeof e=="function"?e():M(e)}function Gl(e,t=!1,n="Timeout"){return new Promise((r,o)=>{setTimeout(t?()=>o(n):r,e)})}function _S(e){return e}function Th(e){return Hr()?(Cn(e),!0):!1}function vS(e,t=!0){mt()?Tt(e):t?e():Ct(e)}function Fi(e,t=!1){function n(f,{flush:d="sync",deep:h=!1,timeout:m,throwOnTimeout:p}={}){let y=null;const v=[new Promise(g=>{y=ge(e,w=>{f(w)!==t&&(y==null||y(),g(w))},{flush:d,deep:h,immediate:!0})})];return m!=null&&v.push(Gl(m,p).then(()=>Rt(e)).finally(()=>y==null?void 0:y())),Promise.race(v)}function r(f,d){if(!Me(f))return n(w=>w===f,d);const{flush:h="sync",deep:m=!1,timeout:p,throwOnTimeout:y}=d??{};let _=null;const g=[new Promise(w=>{_=ge([e,f],([S,T])=>{t!==(S===T)&&(_==null||_(),w(S))},{flush:h,deep:m,immediate:!0})})];return p!=null&&g.push(Gl(p,y).then(()=>Rt(e)).finally(()=>(_==null||_(),Rt(e)))),Promise.race(g)}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(Rt(f))},d)}function u(f){return l(1,f)}function l(f=1,d){let h=-1;return n(()=>(h+=1,h>=f),d)}return Array.isArray(Rt(e))?{toMatch:n,toContains:c,changed:u,changedTimes:l,get not(){return Fi(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:o,toBeNull:s,toBeNaN:a,toBeUndefined:i,changed:u,changedTimes:l,get not(){return Fi(e,!t)}}}function BP(e){return Fi(e)}function bS(e,t,n={}){const{immediate:r=!0}=n,o=le(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,i()}function c(...u){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...u)},Rt(t))}return r&&(o.value=!0,hs&&c()),Th(a),{isPending:Yi(o),start:c,stop:a}}function ur(e){var t;const n=Rt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ha=hs?window:void 0,wS=hs?window.navigator:void 0;function Qt(...e){let t,n,r,o;if(gS(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=Ha):[t,n,r,o]=e,!t)return Da;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(l=>l()),s.length=0},a=(l,f,d,h)=>(l.addEventListener(f,d,h),()=>l.removeEventListener(f,d,h)),c=ge(()=>[ur(t),Rt(o)],([l,f])=>{i(),l&&s.push(...n.flatMap(d=>r.map(h=>a(l,d,h,f))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return Th(u),u}let Ql=!1;function zP(e,t,n={}){const{window:r=Ha,ignore:o=[],capture:s=!0,detectIframe:i=!1}=n;if(!r)return;yS&&!Ql&&(Ql=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",Da)));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=ur(h);return m&&(d.target===m||d.composedPath().includes(m))}}),l=[Qt(r,"click",d=>{const h=ur(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}),Qt(r,"pointerdown",d=>{const h=ur(e);h&&(a=!d.composedPath().includes(h)&&!c(d))},{passive:!0}),i&&Qt(r,"blur",d=>{var h;const m=ur(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(d)})].filter(Boolean);return()=>l.forEach(d=>d())}function ES(e,t=!1){const n=le(),r=()=>n.value=!!e();return r(),vS(r,t),n}function UP(e={}){const{navigator:t=wS,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=["copy","cut"],a=ES(()=>t&&"clipboard"in t),c=ee(()=>a.value||s),u=le(""),l=le(!1),f=bS(()=>l.value=!1,o);function d(){a.value?t.clipboard.readText().then(y=>{u.value=y}):u.value=p()}if(c.value&&n)for(const y of i)Qt(y,d);async function h(y=Rt(r)){c.value&&y!=null&&(a.value?await t.clipboard.writeText(y):m(y),u.value=y,l.value=!0,f.start())}function m(y){const _=document.createElement("textarea");_.value=y??"",_.style.position="absolute",_.style.opacity="0",document.body.appendChild(_),_.select(),document.execCommand("copy"),_.remove()}function p(){var y,_,v;return(v=(_=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:_.toString())!=null?v:""}return{isSupported:c,text:u,copied:l,copy:h}}function CS(e){return JSON.parse(JSON.stringify(e))}const Jl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Yl="__vueuse_ssr_handlers__";Jl[Yl]=Jl[Yl]||{};const TS={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function SS(e={}){const{reactive:t=!1,target:n=Ha,aliasMap:r=TS,passive:o=!0,onEventFired:s=Da}=e,i=ot(new Set),a={toJSON(){return{}},current:i},c=t?ot(a):a,u=new Set,l=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 l)f(p,!1)}function h(p,y){var _,v;const g=(_=p.key)==null?void 0:_.toLowerCase(),S=[(v=p.code)==null?void 0:v.toLowerCase(),g].filter(Boolean);g&&(y?i.add(g):i.delete(g));for(const T of S)l.add(T),f(T,y);g==="meta"&&!y?(u.forEach(T=>{i.delete(T),f(T,!1)}),u.clear()):typeof p.getModifierState=="function"&&p.getModifierState("Meta")&&y&&[...i,...S].forEach(T=>u.add(T))}Qt(n,"keydown",p=>(h(p,!0),s(p)),{passive:o}),Qt(n,"keyup",p=>(h(p,!1),s(p)),{passive:o}),Qt("blur",d,{passive:!0}),Qt("focus",d,{passive:!0});const m=new Proxy(c,{get(p,y,_){if(typeof y!="string")return Reflect.get(p,y,_);if(y=y.toLowerCase(),y in r&&(y=r[y]),!(y in c))if(/[+_-]/.test(y)){const g=y.split(/[+_-]/g).map(w=>w.trim());c[y]=ee(()=>g.every(w=>M(m[w])))}else c[y]=le(!1);const v=Reflect.get(p,y,_);return t?M(v):v}});return m}var Zl;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Zl||(Zl={}));var PS=Object.defineProperty,Xl=Object.getOwnPropertySymbols,AS=Object.prototype.hasOwnProperty,xS=Object.prototype.propertyIsEnumerable,eu=(e,t,n)=>t in e?PS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RS=(e,t)=>{for(var n in t||(t={}))AS.call(t,n)&&eu(e,n,t[n]);if(Xl)for(var n of Xl(t))xS.call(t,n)&&eu(e,n,t[n]);return e};const IS={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]};RS({linear:_S},IS);function KP(e,t,n,r={}){var o,s,i;const{clone:a=!1,passive:c=!1,eventName:u,deep:l=!1,defaultValue:f}=r,d=mt(),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=u;t||(t="modelValue"),m=u||m||`update:${t.toString()}`;const p=_=>a?mS(a)?a(_):CS(_):_,y=()=>pS(e[t])?p(e[t]):f;if(c){const _=y(),v=le(_);return ge(()=>e[t],g=>v.value=p(g)),ge(v,g=>{(g!==e[t]||l)&&h(m,g)},{deep:l}),v}else return ee({get(){return y()},set(_){h(m,_)}})}const Kr=e=>(ku("data-v-0c43b394"),e=e(),$u(),e),LS={class:"content"},OS=Kr(()=>ie("span",null,"Search",-1)),kS=Kr(()=>ie("span",null,[ie("kbd",null,"⌘"),ie("kbd",null,"K")],-1)),$S={class:"search-input"},MS=["onKeydown"],NS=["id","onMouseenter"],DS={class:"search-result-content-wrapper"},HS={class:"search-result-content-head"},jS={key:2},FS=Kr(()=>ie("span",{class:"arrow",innerHTML:"→"},null,-1)),VS={key:0,class:"search-result-content-preview"},BS=Kr(()=>ie("span",null,"“",-1)),zS=["innerHTML"],US=Kr(()=>ie("span",null,"“",-1)),KS={key:1,class:"search-results empty"},WS={key:2,class:"search-results empty"},qS=xe({__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=le(""),s=le(),i=le(),a=le(),c=le(-1),u=le(!1),{close:l,open:f}=th(),{activate:d,deactivate:h}=hS(s),{navigation:m}=Ur(),{meta_K:p,Escape:y}=SS(),{data:_}=([t,n]=Zu(()=>P1("search-api",()=>$fetch("/api/search",{parseResponse:JSON.parse}))),t=await t,n(),t),{results:v}=jT(o,_,r.fuse);function g(x,P,C){for(const A of x){if(A._path===P)return{directoryTitle:C.title,directoryIcon:C.icon};if(A.children){const V=g(A.children,P,A);if(V)return V}}}function w(x){let P;for(const C of m.value)if(C.children){const A=g(C.children,x,C);A&&(P=A)}return P}function S(x,P){const{indices:C,value:A}=P||{indices:[],value:""};if(x===A)return"";let V="",J=0;C.forEach(Q=>{const U=Q[1]+1,he=U-Q[0]>=o.value.length;V+=[A.substring(J,Q[0]),he&&"",A.substring(Q[0],U),he&&""].filter(Boolean).join(""),J=U}),V+=A.substring(J);const F=V.indexOf("");return F>60&&(V=`${V.substring(F-60)}`),`${V}”`}function T(){c.value===-1?c.value=0:c.value===v.value.length-1||(c.value=c.value+1)}function I(){c.value===-1?c.value=v.value.length-1:c.value===0||(c.value=c.value-1)}function L(x){var A,V;const P=(V=(A=v==null?void 0:v.value)==null?void 0:A[x])==null?void 0:V.item,C=P==null?void 0:P.path;C&&(u.value=!1,Ye().push(C))}function H(){var x,P;o.value?(o.value="",c.value=-1,(P=(x=i.value)==null?void 0:x.focus)==null||P.call(x)):u.value=!1}return Tt(()=>{const x=ut();x.query.q&&(u.value=!0,o.value=x.query.q)}),ge(c,x=>{var C,A,V,J;const P=(V=(A=(C=v==null?void 0:v.value)==null?void 0:C[x])==null?void 0:A.item)==null?void 0:V.id;P&&((J=document.querySelector(`[id="${P}"]`))==null||J.scrollIntoView({block:"nearest"}))}),ge(o,x=>{c.value=0}),ge(u,x=>{x?(f(),Ct(()=>{d()})):(o.value="",c.value=-1,h(),l())}),ge(p,x=>{x&&(u.value=!u.value)}),ge(y,()=>{u.value&&(u.value=!1)}),(x,P)=>{const C=Ht;return W(),ue(Pe,null,[ie("button",{type:"button","aria-label":"Search",onClick:P[0]||(P[0]=A=>u.value=!0)},[ie("span",LS,[se(C,{name:"heroicons-outline:search"}),OS,kS])]),(W(),de(ff,{to:"body"},[M(u)?(W(),ue("div",{key:0,ref_key:"searchContentRef",ref:s,class:"search-content",onClick:P[5]||(P[5]=A=>u.value=!1)},[ie("div",{class:"search-window",onClick:P[4]||(P[4]=cr(()=>{},["stop"]))},[ie("div",$S,[se(C,{name:"heroicons-outline:search",class:"search-icon"}),Vu(ie("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":P[1]||(P[1]=A=>Me(o)?o.value=A:null),type:"text",placeholder:"Search documentation",onKeydown:[As(cr(I,["prevent"]),["up"]),As(cr(T,["prevent"]),["down"]),P[2]||(P[2]=As(A=>L(M(c)),["enter"]))]},null,40,MS),[[Xm,M(o)]]),ie("button",{class:"close-button",onClick:H},[se(C,{name:"heroicons:x-mark",class:"close-icon"})])]),M(v).length>0?(W(),ue("div",{key:0,ref_key:"resultsAreaRef",ref:a,class:"search-results"},[(W(!0),ue(Pe,null,Vn(M(v),(A,V)=>{var J,F,Q,U,he,Le,Oe,we,Ue,st;return W(),ue("div",{id:A.item.id,key:A.item.id,class:Fe(["search-result",{selected:M(c)===V}]),onClick:P[3]||(P[3]=gt=>L(M(c))),onMouseenter:cr(gt=>c.value=V,["prevent"])},[ie("div",DS,[ie("div",HS,[(F=w((J=A==null?void 0:A.item)==null?void 0:J.path))!=null&&F.directoryIcon?(W(),de(C,{key:0,name:(U=w((Q=A==null?void 0:A.item)==null?void 0:Q.path))==null?void 0:U.directoryIcon},null,8,["name"])):(W(),de(C,{key:1,name:"solar:documents-bold-duotone"})),(Le=w((he=A==null?void 0:A.item)==null?void 0:he.path))!=null&&Le.directoryTitle?(W(),ue("span",jS,[Zn(kt((we=w((Oe=A==null?void 0:A.item)==null?void 0:Oe.path))==null?void 0:we.directoryTitle)+" ",1),FS])):Ve("",!0),ie("span",null,kt(A.item.title),1)]),(Ue=A==null?void 0:A.matches)!=null&&Ue[0]?(W(),ue("p",VS,[BS,ie("span",{innerHTML:`${S(M(o),(st=A==null?void 0:A.matches)==null?void 0:st[0])}`},null,8,zS),US])):Ve("",!0)])],42,NS)}),128))],512)):M(o)?(W(),ue("div",WS," No results found. Try another query ")):(W(),ue("div",KS," Type your query to search docs "))])],512)):Ve("",!0)]))],64)}}}),Sh=ze(qS,[["__scopeId","data-v-0c43b394"]]),GS=Object.freeze(Object.defineProperty({__proto__:null,default:Sh},Symbol.toStringTag,{value:"Module"})),QS={name:Mw,props:{placeholder:String,tag:{type:String,default:"span"}}};function JS(e,t,n,r,o,s){const i=H1;return W(),de(i,{placeholder:n.placeholder,"placeholder-tag":n.tag},{default:Qe(()=>[Ar(e.$slots,"default")]),_:3},8,["placeholder","placeholder-tag"])}const YS=ze(QS,[["render",JS]]),ZS=()=>It("color-mode").value,XS=xe({__name:"ThemeSelect",setup(e){const t=ZS(),n=()=>{const r=["system","light","dark"],s=(r.indexOf(t.preference)+1)%r.length;t.preference=r[s]};return(r,o)=>{const s=Ht,i=YS;return W(),ue("button",{"aria-label":"Color Mode",onClick:n},[se(i,{placeholder:"..."},{default:Qe(()=>[M(t).preference==="dark"?(W(),de(s,{key:0,name:"uil:moon"})):M(t).preference==="light"?(W(),de(s,{key:1,name:"uil:sun"})):(W(),de(s,{key:2,name:"uil:desktop"}))]),_:1})])}}}),Ph=ze(XS,[["__scopeId","data-v-8c5f6b44"]]),eP=Object.freeze(Object.defineProperty({__proto__:null,default:Ph},Symbol.toStringTag,{value:"Module"})),tP=xe({__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}=Cw(t,n,void 0);return(o,s)=>(W(),de(Yo(e.as),{class:Fe(["container",[M(r)]])},{default:Qe(()=>[Ar(o.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}}),ja=ze(tP,[["__scopeId","data-v-6fad1fba"]]),nP=Object.freeze(Object.defineProperty({__proto__:null,default:ja},Symbol.toStringTag,{value:"Module"})),rP={class:"section left"},oP={class:"section center"},sP={class:"section right"},iP={class:"social-icons"},aP=xe({__name:"AppHeader",props:{},setup(e){const{config:t}=nn(),{navigation:n}=Ur(),{hasDocSearch:r}=ih(),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=nh,c=oh,u=sh,l=ch,f=Sh,d=Ph,h=ds,m=ja;return W(),ue("header",{class:Fe({"has-dialog":M(o)})},[se(m,{fluid:(y=(p=M(t))==null?void 0:p.header)==null?void 0:y.fluid},{default:Qe(()=>[ie("div",rP,[M(o)?(W(),de(a,{key:0})):Ve("",!0),se(c)]),ie("div",oP,[M(o)?(W(),de(c,{key:0})):Ve("",!0),se(u)]),ie("div",sP,[M(r)?(W(),de(l,{key:0})):(W(),de(f,{key:1,fuse:M(t).fuse},null,8,["fuse"])),se(d),ie("div",iP,[se(h)])])]),_:1},8,["fluid"])],2)}}}),Ah=ze(aP,[["__scopeId","data-v-9e920cd4"]]),cP=Object.freeze(Object.defineProperty({__proto__:null,default:Ah},Symbol.toStringTag,{value:"Module"})),lP={class:"left"},uP=["href"],fP={key:1},dP={class:"center"},hP={class:"right"},pP=["aria-label","href","rel"],mP=xe({__name:"AppFooter",setup(e){const{config:t}=nn(),n=le(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 u=Ht,l=zr,f=ds,d=ja;return W(),ue("footer",null,[se(d,{fluid:(m=(h=M(t))==null?void 0:h.footer)==null?void 0:m.fluid,padded:"",class:"footer-container"},{default:Qe(()=>{var p,y,_,v,g,w,S,T,I,L,H,x,P,C;return[ie("div",lP,[(y=(p=M(t))==null?void 0:p.footer)!=null&&y.credits?(W(),ue("a",{key:0,href:((g=(v=(_=M(t))==null?void 0:_.footer)==null?void 0:v.credits)==null?void 0:g.href)||"#",rel:"noopener",target:"_blank"},[(T=(S=(w=M(t))==null?void 0:w.footer)==null?void 0:S.credits)!=null&&T.icon?(W(),de(u,{key:0,name:(H=(L=(I=M(t))==null?void 0:I.footer)==null?void 0:L.credits)==null?void 0:H.icon,class:"left-icon"},null,8,["name"])):Ve("",!0),(C=(P=(x=M(t))==null?void 0:x.footer)==null?void 0:P.credits)!=null&&C.text?(W(),ue("p",fP,kt(M(t).footer.credits.text),1)):Ve("",!0)],8,uP)):Ve("",!0)]),ie("div",dP,[(W(!0),ue(Pe,null,Vn(M(o),A=>(W(),de(l,{key:A.href,class:"text-link","aria-label":A.text,href:A.href,target:(A==null?void 0:A.target)||"_self",rel:(A==null?void 0:A.rel)||"noopener noreferrer"},{default:Qe(()=>[Zn(kt(A.text),1)]),_:2},1032,["aria-label","href","target","rel"]))),128))]),ie("div",hP,[(W(!0),ue(Pe,null,Vn(M(r).slice(0,6-M(i)),A=>(W(),ue("a",{key:A.label,class:"icon-link","aria-label":A.label,href:A.href,target:"_blank",rel:(A==null?void 0:A.rel)||"noopener noreferrer"},[se(u,{name:A.icon},null,8,["name"])],8,pP))),128)),se(f,{ref_key:"socialIcons",ref:n},null,512)])]}),_:1},8,["fluid"])])}}}),xh=ze(mP,[["__scopeId","data-v-351b46b1"]]),gP=Object.freeze(Object.defineProperty({__proto__:null,default:xh},Symbol.toStringTag,{value:"Module"})),yP=(e,t=ut())=>{const n=M(e),r=Je();ge(()=>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(u=>u.name==="description").length===0&&i.meta.push({name:"description",content:c}),i!=null&&i.image||(s==null||s.image),Ct(()=>Or(i))},{immediate:!0})},_P={class:"app-layout"},vP=xe({__name:"AppLayout",setup(e){const{config:t}=nn();return Or({titleTemplate:t.value.titleTemplate,meta:[{name:"twitter:card",content:"summary_large_image"}]}),ge(()=>t.value.titleTemplate,()=>Or({titleTemplate:t.value.titleTemplate})),yP(t.value),(n,r)=>{const o=Dd,s=Ah,i=xh;return W(),ue("div",_P,[se(o),se(s),ie("main",null,[Ar(n.$slots,"default",{},void 0,!0)]),se(i)])}}}),Rh=ze(vP,[["__scopeId","data-v-47c944a3"]]),bP=Object.freeze(Object.defineProperty({__proto__:null,default:Rh},Symbol.toStringTag,{value:"Module"}));function wP(){const e=cs();e.scriptInjected?qn("`useRecaptchaProvider` is used multiple time"):(e.scriptInjected=!0,e.useScriptProvider(),Tt(()=>{Od()}))}const EP=xe({__name:"app",setup(e){return wP(),(t,n)=>{const r=Nd,o=aE,s=Rh;return W(),ue("div",null,[se(r,{type:"warning"},{default:Qe(()=>[Zn(" Currently you are viewing v3 document of vue-recaptcha which is still in development ")]),_:1}),se(s,null,{default:Qe(()=>[se(o)]),_:1})])}}}),CP={__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,l=o?D(()=>k(()=>import("./error-404.cO77aMSk.js"),__vite__mapDeps([153,154]),import.meta.url).then(f=>f.default||f)):D(()=>k(()=>import("./error-500.M33iNT8U.js"),__vite__mapDeps([155,156]),import.meta.url).then(f=>f.default||f));return(f,d)=>(W(),de(M(l),Fh(gf({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},tu={__name:"nuxt-root",setup(e){const t=()=>null,n=ye(),r=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",r);Ye().beforeEach(a)}const o=!1;yn(ns,ut()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=rs();Ju((a,c,u)=>{if(n.hooks.callHook("vue:error",a,c,u).catch(l=>console.error("[nuxt] Error in `vue:error` hook",l)),By(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>On(a)),!1});const i=!1;return(a,c)=>(W(),de(Hu,{onResolve:M(r)},{default:Qe(()=>[M(s)?(W(),de(M(CP),{key:0,error:M(s)},null,8,["error"])):M(i)?(W(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(W(),de(Yo(M(o)),{key:2})):(W(),de(M(EP),{key:3}))]),_:1},8,["onResolve"]))}};let nu;{let e;nu=async function(){var i,a;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?ig(tu):sg(tu),o=ly({vueApp:r});async function s(c){await o.callHook("app:error",c),o.payload.error=o.payload.error||Br(c)}r.config.errorHandler=s;try{await fy(o,Xw)}catch(c){s(c)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(W_),await o.hooks.callHook("app:mounted",r),await Ct()}catch(c){s(c)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=nu().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Me as $,Ln as A,Ct as B,IP as C,me as D,Or as E,Pe as F,Zn as G,zr as H,He as I,RP as J,ee as K,M as L,lr as M,xP as N,s0 as O,ns as P,rt as Q,bm as R,Hu as S,ua as T,yn as U,Hy as V,Ur as W,yP as X,de as Y,Ww as Z,k as _,Pr as a,MP as a$,nE as a0,KP as a1,Ht as a2,Vu as a3,Xm as a4,BP as a5,TP as a6,ge as a7,Yn as a8,ot as a9,Nd as aA,ja as aB,E1 as aC,wa as aD,Gu as aE,Vn as aF,cr as aG,UP as aH,zP as aI,Af as aJ,Hm as aK,$d as aL,tE as aM,Ti as aN,S1 as aO,ZS as aP,DP as aQ,Ro as aR,SP as aS,Oo as aT,Q1 as aU,Qn as aV,AP as aW,gl as aX,NP as aY,Pt as aZ,LP as a_,Yi as aa,Np as ab,mt as ac,Ot as ad,Ar as ae,Cw as af,PP as ag,Ap as ah,C1 as ai,Bn as aj,Ir as ak,Ca as al,HP as am,ta as an,gf as ao,Fh as ap,Yo as aq,FP as ar,jP as as,mp as at,Hr as au,Cn as av,VP as aw,nn as ax,Ma as ay,Pn as az,W as b,OP as b0,kP as b1,$P as b2,q1 as b3,ue as c,xe as d,ie as e,Ve as f,se as g,ho as h,$u as i,ye as j,ze as k,Je as l,It as m,Fe as n,Tt as o,ku as p,po as q,le as r,ut as s,kt as t,Ye as u,Mf as v,Qe as w,ga as x,Fn as y,sg 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,l=o?D(()=>k(()=>import("./error-404.60rq1vs1.js"),__vite__mapDeps([153,154]),import.meta.url).then(f=>f.default||f)):D(()=>k(()=>import("./error-500.1_TLBkWV.js"),__vite__mapDeps([155,156]),import.meta.url).then(f=>f.default||f));return(f,d)=>(W(),de(M(l),Fh(gf({statusCode:M(r),statusMessage:M(s),description:M(i),stack:M(a)})),null,16))}},tu={__name:"nuxt-root",setup(e){const t=()=>null,n=ye(),r=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",r);Ye().beforeEach(a)}const o=!1;yn(ns,ut()),n.hooks.callHookWith(a=>a.map(c=>c()),"vue:setup");const s=rs();Ju((a,c,u)=>{if(n.hooks.callHook("vue:error",a,c,u).catch(l=>console.error("[nuxt] Error in `vue:error` hook",l)),By(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>On(a)),!1});const i=!1;return(a,c)=>(W(),de(Hu,{onResolve:M(r)},{default:Qe(()=>[M(s)?(W(),de(M(CP),{key:0,error:M(s)},null,8,["error"])):M(i)?(W(),de(M(t),{key:1,context:M(i)},null,8,["context"])):M(o)?(W(),de(Yo(M(o)),{key:2})):(W(),de(M(EP),{key:3}))]),_:1},8,["onResolve"]))}};let nu;{let e;nu=async function(){var i,a;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?ig(tu):sg(tu),o=ly({vueApp:r});async function s(c){await o.callHook("app:error",c),o.payload.error=o.payload.error||Br(c)}r.config.errorHandler=s;try{await fy(o,Xw)}catch(c){s(c)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(W_),await o.hooks.callHook("app:mounted",r),await Ct()}catch(c){s(c)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=nu().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Me as $,Ln as A,Ct as B,IP as C,me as D,Or as E,Pe as F,Zn as G,zr as H,He as I,RP as J,ee as K,M as L,lr as M,xP as N,s0 as O,ns as P,rt as Q,bm as R,Hu as S,ua as T,yn as U,Hy as V,Ur as W,yP as X,de as Y,Ww as Z,k as _,Pr as a,MP as a$,nE as a0,KP as a1,Ht as a2,Vu as a3,Xm as a4,BP as a5,TP as a6,ge as a7,Yn as a8,ot as a9,Nd as aA,ja as aB,E1 as aC,wa as aD,Gu as aE,Vn as aF,cr as aG,UP as aH,zP as aI,Af as aJ,Hm as aK,$d as aL,tE as aM,Ti as aN,S1 as aO,ZS as aP,DP as aQ,Ro as aR,SP as aS,Oo as aT,Q1 as aU,Qn as aV,AP as aW,gl as aX,NP as aY,Pt as aZ,LP as a_,Yi as aa,Np as ab,mt as ac,Ot as ad,Ar as ae,Cw as af,PP as ag,Ap as ah,C1 as ai,Bn as aj,Ir as ak,Ca as al,HP as am,ta as an,gf as ao,Fh as ap,Yo as aq,FP as ar,jP as as,mp as at,Hr as au,Cn as av,VP as aw,nn as ax,Ma as ay,Pn as az,W as b,OP as b0,kP as b1,$P as b2,q1 as b3,ue as c,xe as d,ie as e,Ve as f,se as g,ho as h,$u as i,ye as j,ze as k,Je as l,It as m,Fe as n,Tt as o,ku as p,po as q,le as r,ut as s,kt as t,Ye as u,Mf as v,Qe as w,ga as x,Fn as y,sg as z}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./document-driven.t9ahBX4B.js","./DocumentDrivenEmpty.HXWh7bUT.js","./ContentRenderer.VKSxfKNo.js","./ContentRendererMarkdown.vue.YjSLEWnk.js","./DocumentDrivenNotFound.-yF2pn-z.js","./ButtonLink.w20vZM51.js","./ButtonLink._Dz6TKeF.css","./DocumentDrivenNotFound.lNb8GDy4.css","./ChallengeV2Demo.LFV0Ar_7.js","./PrimaryButton.LSQnk0sG.js","./ChallengeV2.vue.2V5n61V0.js","./component-v2.sKjNcOqD.js","./index.yCA1HJN8.js","./ChallengeV3Demo.dKwUJk70.js","./ChallengeV3.vue.Gp_5kTkW.js","./CheckboxDemo.DmkwCS_v.js","./ThemeButton.vue.VdZg_U5_.js","./Checkbox.vue.i_o1e-gp.js","./IndexDemo.45z5wsSn.js","./Card.5bUrWpaH.js","./Card.Baxovx-V.css","./Mermaid.qwe_za49.js","./mermaid-934d9bea.A2NtSsGH.js","./_commonjsHelpers.5-cIlDoe.js","./ThemeButton.KLzrACF9.js","./VeeValidateCheckbox.lGiET7FK.js","./index.esm.2qW5NcAJ.js","./VeeValidateInvisible.cMWFaZlN.js","./Ellipsis.UJCrcBeT.js","./Ellipsis.e5vM4j5F.css","./DocsAside.gNXJa-Bf.js","./DocsAside.FQIj6SCE.css","./DocsPageBottom.lBgf0KZa.js","./ProseA.gJO5IhDn.js","./ProseA.NBFf42xP.css","./EditOnLink.vue.hSdYNdSH.js","./DocsPageBottom.1GsvLORj.css","./DocsPageLayout.oVaLCwTp.js","./ProseCodeInline.kD_4UGIu.js","./ProseCodeInline.2J2IRq0B.css","./DocsPrevNext.Pin13daV.js","./DocsPrevNext.FVCxVd23.css","./DocsToc.Rer6PIHw.js","./DocsTocLinks.KwT3TIqY.js","./DocsTocLinks.Ut7D3moV.css","./DocsToc.hqOeBXUk.css","./DocsPageLayout.7wMhT42H.css","./EditOnLink.Fqrz7wh7.js","./SourceLink.zrd0rF8v.js","./ProseP.WWHl5OCQ.js","./ProseP.AouN9GFc.css","./ProseBlockquote._x2T5GSs.js","./ProseBlockquote.M4-91edO.css","./ProseCode.oeUt39ck.js","./ProseCode.ErBEqXU3.css","./ProseEm.F6z8uwGD.js","./ProseEm.CNNd9gtm.css","./ProseH1.ObL5W-EZ.js","./ProseH1.Gmrvd84-.css","./ProseH2.-9Ew53W_.js","./ProseH2.uMxfH9mB.css","./ProseH3.bcbsC7K5.js","./ProseH3.J30XqlNm.css","./ProseH4.8hu1lHgz.js","./ProseH4.u4TvULee.css","./ProseH5.lNRH0NeP.js","./ProseH5.FSPGlo8m.css","./ProseH6.TjN22uhv.js","./ProseH6.b3V-ScQY.css","./ProseHr.RGwhFeUE.js","./ProseHr.hZjGRJVl.css","./ProseImg.hK0AkCYv.js","./ProseImg.O_FIa2TD.css","./ProseLi.Nd-cfAUt.js","./ProseLi.tN-CA_68.css","./ProseOl.WiRv2RPt.js","./ProseOl.iDXewtYt.css","./ProseStrong.MOzHJa_4.js","./ProseStrong.NU8dWSB2.css","./ProseTable.vBeITk7D.js","./ProseTable.MghxCL3T.css","./ProseTd.G4s628Gm.js","./ProseTd.DlgsJ88I.css","./ProseTh.HjKCkJiu.js","./ProseTh.P1riwnjc.css","./ProseThead.tCJk5qKt.js","./ProseThead.Dlh7qJ05.css","./ProseTr.EapMfHL9.js","./ProseTr.fMt7yWFs.css","./ProseUl.AJzxAvif.js","./ProseUl.ITCin3In.css","./Badge.Bq0zZl56.js","./Badge.qlwm6GnF.css","./Callout.msAswQ_R.js","./Callout.bikHhVrr.css","./CodeBlock.P1Dwa4-i.js","./CodeBlock.qh-9ZmWS.css","./CodeGroup.TfR_eiZQ.js","./TabsHeader.bMrSb2ui.js","./TabsHeader.ImEOPcJq.css","./CodeGroup.mwqZZEeB.css","./List.7pu2wkfy.js","./MDCSlot.2zHBmkna.js","./List.OPdACUNd.css","./NuxtImg.uWtvOG7g.js","./NuxtImg.vue.0VDIrUXY.js","./Props.4h5-vo62.js","./ProseTbody.zyB_RR9Q.js","./Sandbox.LEbq7B6x.js","./Sandbox.heOb0CLB.css","./Terminal.fi-D3Y7p.js","./Terminal.dwKvwduI.css","./VideoPlayer.Ys8XZz6o.js","./VideoPlayer.hU-i7Ajr.css","./IconNuxtStudio.yO30aaIz.js","./IconNuxtStudio.btjnKxC_.css","./BlockHero.zWmlewkQ.js","./BlockHero.-93gDvrN.css","./CardGrid.0WF2Q5kb.js","./CardGrid.xPStU-r0.css","./VoltaBoard.tukDOokH.js","./VoltaBoard._Ti1fhn8.css","./ComponentPlayground.6Gam0-wI.js","./ComponentPlaygroundData.6AbGJ9mV.js","./ComponentPlaygroundProps.Y4cDKaF3.js","./ComponentPlaygroundProps.TaXJnAU7.css","./ComponentPlaygroundSlots.vue.cZLjyPCb.js","./ComponentPlaygroundTokens.vue.2cSbGLkg.js","./ComponentPlaygroundData.izDdDWR8.css","./ComponentPlayground.m2NAEKok.css","./ComponentPlaygroundSlots.NgGOSdxM.js","./ComponentPlaygroundTokens.3U_NfJtG.js","./PreviewLayout.qMmReYHO.js","./PreviewLayout.HLKYb6sd.css","./ContentDoc.zKgHGiDN.js","./ContentQuery.NB3OFZ9d.js","./ContentList.82B4DZ2X.js","./ContentRendererMarkdown.qrNK7OQe.js","./ContentSlot.hwWIYXww.js","./Markdown.pCr_z0ZL.js","./ProsePre.7hQDwLAv.js","./ProsePre.nIRUQbb-.css","./Checkbox.foA5H_JL.js","./ChallengeV2.ZklYnzhU.js","./ChallengeV3.LfYmqI11.js","./IconCSS.qbvIwZtu.js","./IconCSS.bjv1sj0D.css","./default.dDhX4ymO.js","./page.kItSCnbi.js","./page.b4D7KWd_.css","./client-db.vOAFLTFq.js","./useStudio.QOPDACwZ.js","./useStudio.NpV3iDiH.css","./error-404.cO77aMSk.js","./error-404.co_EEoHd.css","./error-500.M33iNT8U.js","./error-500.uFA--wGf.css"] + __vite__mapDeps.viteFileDeps = ["./document-driven.JwSMCAJf.js","./DocumentDrivenEmpty.kiIWIMj7.js","./ContentRenderer.tFbNhKMt.js","./ContentRendererMarkdown.vue.4k77k0Ub.js","./DocumentDrivenNotFound.Nj5zZt7K.js","./ButtonLink.JsHDRO_1.js","./ButtonLink._Dz6TKeF.css","./DocumentDrivenNotFound.lNb8GDy4.css","./ChallengeV2Demo.W0k39nW7.js","./PrimaryButton.FlXkNIab.js","./ChallengeV2.vue.-Nph38q1.js","./component-v2.IsIoIgya.js","./index.lhx1JYyI.js","./ChallengeV3Demo.TcLsQd72.js","./ChallengeV3.vue.cTzKzn4o.js","./CheckboxDemo.-2Q_V1r4.js","./ThemeButton.vue.E7xg_z0E.js","./Checkbox.vue.2u50CLf1.js","./IndexDemo.EsYKFqSy.js","./Card.o4r2Vq4C.js","./Card.Baxovx-V.css","./Mermaid.7Jd7-Cdi.js","./mermaid-934d9bea.1859dh9d.js","./_commonjsHelpers.5-cIlDoe.js","./ThemeButton.kym-kZbO.js","./VeeValidateCheckbox.AJOw7uBn.js","./index.esm.5yGQZtXl.js","./VeeValidateInvisible.H0JOJac3.js","./Ellipsis.PNOchgsh.js","./Ellipsis.e5vM4j5F.css","./DocsAside.7iaOVwMX.js","./DocsAside.FQIj6SCE.css","./DocsPageBottom.UiQFbxFH.js","./ProseA.OkKrpPKJ.js","./ProseA.NBFf42xP.css","./EditOnLink.vue.kjMGI45_.js","./DocsPageBottom.1GsvLORj.css","./DocsPageLayout.UPR5IpQ_.js","./ProseCodeInline.6iI3GoXM.js","./ProseCodeInline.2J2IRq0B.css","./DocsPrevNext.fgev8I6q.js","./DocsPrevNext.FVCxVd23.css","./DocsToc.wB-Mh8u5.js","./DocsTocLinks.jJ8TPMe2.js","./DocsTocLinks.Ut7D3moV.css","./DocsToc.hqOeBXUk.css","./DocsPageLayout.7wMhT42H.css","./EditOnLink.3mKQAlG-.js","./SourceLink.fQqE1hsz.js","./ProseP.bMR8pn8i.js","./ProseP.AouN9GFc.css","./ProseBlockquote.qAOUk4Wn.js","./ProseBlockquote.M4-91edO.css","./ProseCode.c02XCi1f.js","./ProseCode.ErBEqXU3.css","./ProseEm.u9sEsbYJ.js","./ProseEm.CNNd9gtm.css","./ProseH1.EFDm3JDy.js","./ProseH1.Gmrvd84-.css","./ProseH2.5OksNWtg.js","./ProseH2.uMxfH9mB.css","./ProseH3.QreNH1Ne.js","./ProseH3.J30XqlNm.css","./ProseH4.vtOAJkSq.js","./ProseH4.u4TvULee.css","./ProseH5.ThcODWY3.js","./ProseH5.FSPGlo8m.css","./ProseH6.es0nbL-E.js","./ProseH6.b3V-ScQY.css","./ProseHr.5KpkoNDK.js","./ProseHr.hZjGRJVl.css","./ProseImg.dL8X15Ke.js","./ProseImg.O_FIa2TD.css","./ProseLi.mf42c34j.js","./ProseLi.tN-CA_68.css","./ProseOl.GkhMg_vD.js","./ProseOl.iDXewtYt.css","./ProseStrong.poKMskxt.js","./ProseStrong.NU8dWSB2.css","./ProseTable._7xk69YO.js","./ProseTable.MghxCL3T.css","./ProseTd.3ktvwyQ-.js","./ProseTd.DlgsJ88I.css","./ProseTh.FkymB9rA.js","./ProseTh.P1riwnjc.css","./ProseThead.B2jt3gkU.js","./ProseThead.Dlh7qJ05.css","./ProseTr.WUpym3Ix.js","./ProseTr.fMt7yWFs.css","./ProseUl.7I5B1wKe.js","./ProseUl.ITCin3In.css","./Badge._9Rs-duH.js","./Badge.qlwm6GnF.css","./Callout.6IDfYbfc.js","./Callout.bikHhVrr.css","./CodeBlock.1eKG1Wpl.js","./CodeBlock.qh-9ZmWS.css","./CodeGroup.mnD6IF-H.js","./TabsHeader.wVJNPdeP.js","./TabsHeader.ImEOPcJq.css","./CodeGroup.mwqZZEeB.css","./List.ZJ2mKXBz.js","./MDCSlot.MN43rXdf.js","./List.OPdACUNd.css","./NuxtImg.VdvHjWw5.js","./NuxtImg.vue.8kvkqvZy.js","./Props.CEtWFb0d.js","./ProseTbody.6wYonfVE.js","./Sandbox.fz6ePa0S.js","./Sandbox.heOb0CLB.css","./Terminal.cd6apQ0s.js","./Terminal.dwKvwduI.css","./VideoPlayer.Wl48Pgvy.js","./VideoPlayer.hU-i7Ajr.css","./IconNuxtStudio.O8v09NUG.js","./IconNuxtStudio.btjnKxC_.css","./BlockHero.xcepq8jC.js","./BlockHero.-93gDvrN.css","./CardGrid.ZlMwfiox.js","./CardGrid.xPStU-r0.css","./VoltaBoard.5Hy9XdE-.js","./VoltaBoard._Ti1fhn8.css","./ComponentPlayground.7uaKLuVF.js","./ComponentPlaygroundData.fO7KBkaY.js","./ComponentPlaygroundProps.Ec6dzvCJ.js","./ComponentPlaygroundProps.TaXJnAU7.css","./ComponentPlaygroundSlots.vue.0V99WfYB.js","./ComponentPlaygroundTokens.vue.maqnXcTJ.js","./ComponentPlaygroundData.izDdDWR8.css","./ComponentPlayground.m2NAEKok.css","./ComponentPlaygroundSlots.Ef6Sa52j.js","./ComponentPlaygroundTokens.b0fT7zSI.js","./PreviewLayout.-mh9dIns.js","./PreviewLayout.HLKYb6sd.css","./ContentDoc.B9HE1ddj.js","./ContentQuery.M0_kloZa.js","./ContentList.jndH3Itx.js","./ContentRendererMarkdown.42Ch2eVw.js","./ContentSlot.6G6kJV58.js","./Markdown.YK6J3_Q1.js","./ProsePre.hqKdR_vu.js","./ProsePre.nIRUQbb-.css","./Checkbox.BEbI-N3l.js","./ChallengeV2._AOpQvwG.js","./ChallengeV3.BNbXg8lm.js","./IconCSS.xyxYUcIn.js","./IconCSS.bjv1sj0D.css","./default.jp05wh6t.js","./page.WH-au3PE.js","./page.b4D7KWd_.css","./client-db.qmKneCqM.js","./useStudio.XgpbW4L4.js","./useStudio.NpV3iDiH.css","./error-404.60rq1vs1.js","./error-404.co_EEoHd.css","./error-500.1_TLBkWV.js","./error-500.uFA--wGf.css"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } diff --git a/_nuxt/erDiagram-9cfc3649.jYxaA5Bi.js b/_nuxt/erDiagram-9cfc3649.M6UFOU5W.js similarity index 99% rename from _nuxt/erDiagram-9cfc3649.jYxaA5Bi.js rename to _nuxt/erDiagram-9cfc3649.M6UFOU5W.js index 8db773319f..a18d5a9fad 100644 --- a/_nuxt/erDiagram-9cfc3649.jYxaA5Bi.js +++ b/_nuxt/erDiagram-9cfc3649.M6UFOU5W.js @@ -1,4 +1,4 @@ -import{c as Z,s as Et,g as mt,b as gt,a as kt,x as xt,y as Rt,l as V,A as Ot,h as rt,z as bt,i as Nt,ap as Tt,as as At}from"./mermaid-934d9bea.A2NtSsGH.js";import{G as Mt,l as wt}from"./layout.m-I5JUDt.js";import{l as St}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const It=/^(?:[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 Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return(A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]).toLowerCase()}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(w,a,n,c){for(n=n||{},c=w.length;c--;n[w[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var S,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((S===null||typeof S>"u")&&(S=_t()),D=K[H]&&K[H][S]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: +import{c as Z,s as Et,g as mt,b as gt,a as kt,x as xt,y as Rt,l as V,A as Ot,h as rt,z as bt,i as Nt,ap as Tt,as as At}from"./mermaid-934d9bea.1859dh9d.js";import{G as Mt,l as wt}from"./layout.nII1iIDV.js";import{l as St}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const It=/^(?:[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 Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return(A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]).toLowerCase()}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(w,a,n,c){for(n=n||{},c=w.length;c--;n[w[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var S,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((S===null||typeof S>"u")&&(S=_t()),D=K[H]&&K[H][S]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: `+b.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[S]||S)+"'":et="Parse error on line "+(Q+1)+": Unexpected "+(S==ot?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(et,{text:b.match,token:this.terminals_[S]||S,line:b.yylineno,loc:$,expected:q})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+S);switch(D[0]){case 1:c.push(S),E.push(b.yytext),i.push(b.yylloc),c.push(D[1]),S=null,st=b.yyleng,s=b.yytext,Q=b.yylineno,$=b.yylloc;break;case 2:if(P=this.productions_[D[1]][1],G.$=E[E.length-P],G._$={first_line:i[i.length-(P||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(P||1)].first_column,last_column:i[i.length-1].last_column},pt&&(G._$.range=[i[i.length-(P||1)].range[0],i[i.length-1].range[1]]),tt=this.performAction.apply(G,[s,st,Q,z.yy,D[1],E,i].concat(yt)),typeof tt<"u")return tt;P&&(c=c.slice(0,-1*P*2),E=E.slice(0,-1*P),i=i.slice(0,-1*P)),c.push(this.productions_[D[1]][0]),E.push(G.$),i.push(G._$),lt=K[c[c.length-2]][c[c.length-1]],c.push(lt);break;case 3:return!0}}return!0}},O=function(){var w={EOF:1,parseError:function(n,c){if(this.yy.parser)this.yy.parser.parseError(n,c);else throw new Error(n)},setInput:function(a,n){return this.yy=n||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 n=a.match(/(?:\r\n?|\n).*/g);return n?(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 n=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),c.length-1&&(this.yylineno-=c.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:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),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(),n=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/_nuxt/error-404.cO77aMSk.js b/_nuxt/error-404.60rq1vs1.js similarity index 97% rename from _nuxt/error-404.cO77aMSk.js rename to _nuxt/error-404.60rq1vs1.js index d08d3ba84e..6506898614 100644 --- a/_nuxt/error-404.cO77aMSk.js +++ b/_nuxt/error-404.60rq1vs1.js @@ -1 +1 @@ -import{k as a,E as n,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as h,i as m}from"./entry.q1HaRjkf.js";const x=t=>(h("data-v-8e38b8ef"),t=t(),m(),t),g={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},u=x(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},w=["textContent"],_=["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 n({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,N)=>{const i=f;return r(),l("div",g,[u,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,w),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,_),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=a(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; +import{k as a,E as n,b as r,c as l,e,t as s,g as d,w as c,G as p,H as f,p as h,i as m}from"./entry.DMNM28aL.js";const x=t=>(h("data-v-8e38b8ef"),t=t(),m(),t),g={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},u=x(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},w=["textContent"],_=["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 n({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,N)=>{const i=f;return r(),l("div",g,[u,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,w),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,_),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=a(S,[["__scopeId","data-v-8e38b8ef"]]);export{z as default}; diff --git a/_nuxt/error-500.M33iNT8U.js b/_nuxt/error-500.1_TLBkWV.js similarity index 96% rename from _nuxt/error-500.M33iNT8U.js rename to _nuxt/error-500.1_TLBkWV.js index 7bb9cb8b07..f60510ae2c 100644 --- a/_nuxt/error-500.M33iNT8U.js +++ b/_nuxt/error-500.1_TLBkWV.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.q1HaRjkf.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"},h=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),f={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,[h,e("div",f,[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)])]))}},y=i(b,[["__scopeId","data-v-5741bfc2"]]);export{y 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.DMNM28aL.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"},h=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),f={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,[h,e("div",f,[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)])]))}},y=i(b,[["__scopeId","data-v-5741bfc2"]]);export{y as default}; diff --git a/_nuxt/flowDb-170db09d.C3nGUORL.js b/_nuxt/flowDb-170db09d.7WV-jgHZ.js similarity index 99% rename from _nuxt/flowDb-170db09d.C3nGUORL.js rename to _nuxt/flowDb-170db09d.7WV-jgHZ.js index c86806b799..18024b7724 100644 --- a/_nuxt/flowDb-170db09d.C3nGUORL.js +++ b/_nuxt/flowDb-170db09d.7WV-jgHZ.js @@ -1,4 +1,4 @@ -import{c as ft,v as ye,s as me,g as ve,a as Ve,b as Le,x as Ie,y as Re,l as Z1,z as At,A as Ne,j as Oe,h as N1}from"./mermaid-934d9bea.A2NtSsGH.js";var ht=function(){var e=function(h1,a,o,p){for(o=o||{},p=h1.length;p--;o[h1[p]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],O=[1,16],z=[1,23],c1=[1,25],f1=[1,26],A1=[1,27],S=[1,49],k=[1,48],o1=[1,29],w1=[1,30],U1=[1,31],G1=[1,32],M1=[1,33],B=[1,44],x=[1,46],y=[1,42],m=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],K1=[1,34],j1=[1,35],Y1=[1,36],X1=[1,37],L1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],W=[1,61],q=[1,60],Q=[1,62],z1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],C1=[1,87],S1=[1,94],_1=[1,90],B1=[1,95],x1=[1,86],H1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],I1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],Ct=[1,145],St=[1,130],_t=[1,132],Bt=[1,136],xt=[1,137],yt=[1,138],mt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],Ot=[1,134],Pt=[1,129],wt=[1,133],Ut=[1,131],it=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],f=[1,169],P=[1,165],w=[1,166],A=[1,170],d=[1,167],E=[1,168],y1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],l1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Z=[1,235],J=[1,233],$=[1,237],t1=[1,231],e1=[1,232],s1=[1,234],u1=[1,236],i1=[1,238],m1=[1,255],Kt=[8,9,11,103],H=[8,9,10,11,58,81,102,103,106,107,108,109],rt={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,p,r,C,t,R1){var s=t.length-1;switch(C){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43: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 44: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 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57: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 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var j=r.destructLink(t[s],t[s-2]);this.$={type:j.type,stroke:j.stroke,length:j.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var j=r.destructLink(t[s]);this.$={type:j.type,stroke:j.stroke,length:j.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:L1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:W,9:q,11:Q,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:W,9:q,11:Q,21:66},{8:W,9:q,11:Q,21:67},{8:W,9:q,11:Q,21:68},{8:W,9:q,11:Q,21:69},{8:W,9:q,11:Q,21:70},{8:W,9:q,10:[1,71],11:Q,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(z1,[2,46],{18:75,10:L1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(H1,[2,47]),e(H1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:S,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:L1}),e(b,[2,27]),{40:112,41:38,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(I1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:Ct,42:St,58:_t,73:Bt,77:[1,124],78:[1,125],80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(it,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(z1,[2,45],{42:Gt}),{42:S,45:150,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:S,45:154,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{42:S,45:155,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:S,45:162,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:171,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:174,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:175,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:176,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:181,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:182,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:183,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(z1,[2,43],{18:184,10:L1}),e(I1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(y1,[2,73]),e(y1,[2,75]),e(y1,[2,76]),e(y1,[2,161]),e(y1,[2,162]),{8:W,9:q,10:gt,11:Q,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:Ct,42:St,58:_t,73:Bt,80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,193],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:L1,18:194},{10:[1,195],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(H1,[2,50],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:f,79:208,113:A,114:d,115:E},e(l1,[2,79]),e(l1,[2,81]),e(l1,[2,82]),e(l1,[2,146]),e(l1,[2,147]),e(l1,[2,148]),e(l1,[2,149]),{47:[1,209],65:f,79:208,113:A,114:d,115:E},{30:210,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{49:[1,211],65:f,79:208,113:A,114:d,115:E},{51:[1,212],65:f,79:208,113:A,114:d,115:E},{53:[1,213],65:f,79:208,113:A,114:d,115:E},{55:[1,214],65:f,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:f,79:208,113:A,114:d,115:E},{64:[1,217],65:f,79:208,113:A,114:d,115:E},{30:218,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{31:[1,219],65:f,79:208,113:A,114:d,115:E},{65:f,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:f,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(z1,[2,44],{42:Gt}),e(I1,[2,70]),e(I1,[2,69]),{60:[1,224],65:f,79:208,113:A,114:d,115:E},e(I1,[2,72]),e(y1,[2,74]),{30:225,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(it,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{10:Z,58:J,81:$,89:228,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:239,101:[1,240],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:241,101:[1,242],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{102:[1,243]},{10:Z,58:J,81:$,89:244,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{42:S,45:245,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(l1,[2,80]),e(N,[2,52]),{49:[1,250],65:f,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:f,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,254],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(H1,[2,48]),e(T,[2,114],{103:m1}),e(Kt,[2,123],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(H,[2,125]),e(H,[2,127]),e(H,[2,128]),e(H,[2,129]),e(H,[2,130]),e(H,[2,131]),e(H,[2,132]),e(H,[2,133]),e(H,[2,134]),e(T,[2,115],{103:m1}),{10:[1,257]},e(T,[2,116],{103:m1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:m1}),e(T,[2,99],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:W,9:q,11:Q,21:264},e(b,[2,34]),{10:Z,58:J,81:$,102:t1,104:265,105:230,106:e1,107:s1,108:u1,109:i1},e(H,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(N,[2,61]),e(it,l,{5:270}),e(Kt,[2,124],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,107]),{31:[1,273],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,274],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:Z,58:J,81:$,89:275,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:276,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:m1}),e(T,[2,118],{103:m1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var p=new Error(a);throw p.hash=o,p}},parse:function(a){var o=this,p=[0],r=[],C=[null],t=[],R1=this.table,s="",j=0,jt=0,Se=2,Yt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(d1.yy[at]=this.yy[at]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ct=_.yylloc;t.push(ct);var Be=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(){var n1;return n1=r.pop()||_.lex()||Yt,typeof n1!="number"&&(n1 instanceof Array&&(r=n1,n1=r.pop()),n1=o.symbols_[n1]||n1),n1}for(var G,E1,Y,ot,v1={},W1,r1,Xt,q1;;){if(E1=p[p.length-1],this.defaultActions[E1]?Y=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=xe()),Y=R1[E1]&&R1[E1][G]),typeof Y>"u"||!Y.length||!Y[0]){var lt="";q1=[];for(W1 in R1[E1])this.terminals_[W1]&&W1>Se&&q1.push("'"+this.terminals_[W1]+"'");_.showPosition?lt="Parse error on line "+(j+1)+`: +import{c as ft,v as ye,s as me,g as ve,a as Ve,b as Le,x as Ie,y as Re,l as Z1,z as At,A as Ne,j as Oe,h as N1}from"./mermaid-934d9bea.1859dh9d.js";var ht=function(){var e=function(h1,a,o,p){for(o=o||{},p=h1.length;p--;o[h1[p]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],O=[1,16],z=[1,23],c1=[1,25],f1=[1,26],A1=[1,27],S=[1,49],k=[1,48],o1=[1,29],w1=[1,30],U1=[1,31],G1=[1,32],M1=[1,33],B=[1,44],x=[1,46],y=[1,42],m=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],K1=[1,34],j1=[1,35],Y1=[1,36],X1=[1,37],L1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],W=[1,61],q=[1,60],Q=[1,62],z1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],C1=[1,87],S1=[1,94],_1=[1,90],B1=[1,95],x1=[1,86],H1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],I1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],Ct=[1,145],St=[1,130],_t=[1,132],Bt=[1,136],xt=[1,137],yt=[1,138],mt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],Ot=[1,134],Pt=[1,129],wt=[1,133],Ut=[1,131],it=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],f=[1,169],P=[1,165],w=[1,166],A=[1,170],d=[1,167],E=[1,168],y1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],l1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Z=[1,235],J=[1,233],$=[1,237],t1=[1,231],e1=[1,232],s1=[1,234],u1=[1,236],i1=[1,238],m1=[1,255],Kt=[8,9,11,103],H=[8,9,10,11,58,81,102,103,106,107,108,109],rt={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,p,r,C,t,R1){var s=t.length-1;switch(C){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43: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 44: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 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57: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 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var j=r.destructLink(t[s],t[s-2]);this.$={type:j.type,stroke:j.stroke,length:j.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var j=r.destructLink(t[s]);this.$={type:j.type,stroke:j.stroke,length:j.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:L1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:W,9:q,11:Q,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:W,9:q,11:Q,21:66},{8:W,9:q,11:Q,21:67},{8:W,9:q,11:Q,21:68},{8:W,9:q,11:Q,21:69},{8:W,9:q,11:Q,21:70},{8:W,9:q,10:[1,71],11:Q,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(z1,[2,46],{18:75,10:L1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(H1,[2,47]),e(H1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:S,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:L1}),e(b,[2,27]),{40:112,41:38,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(I1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:Ct,42:St,58:_t,73:Bt,77:[1,124],78:[1,125],80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(it,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(z1,[2,45],{42:Gt}),{42:S,45:150,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:S,45:154,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{42:S,45:155,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:S,45:162,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:171,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:174,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:175,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:176,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:181,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:182,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:183,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(z1,[2,43],{18:184,10:L1}),e(I1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(y1,[2,73]),e(y1,[2,75]),e(y1,[2,76]),e(y1,[2,161]),e(y1,[2,162]),{8:W,9:q,10:gt,11:Q,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:Ct,42:St,58:_t,73:Bt,80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,193],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:L1,18:194},{10:[1,195],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(H1,[2,50],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:f,79:208,113:A,114:d,115:E},e(l1,[2,79]),e(l1,[2,81]),e(l1,[2,82]),e(l1,[2,146]),e(l1,[2,147]),e(l1,[2,148]),e(l1,[2,149]),{47:[1,209],65:f,79:208,113:A,114:d,115:E},{30:210,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{49:[1,211],65:f,79:208,113:A,114:d,115:E},{51:[1,212],65:f,79:208,113:A,114:d,115:E},{53:[1,213],65:f,79:208,113:A,114:d,115:E},{55:[1,214],65:f,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:f,79:208,113:A,114:d,115:E},{64:[1,217],65:f,79:208,113:A,114:d,115:E},{30:218,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{31:[1,219],65:f,79:208,113:A,114:d,115:E},{65:f,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:f,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(z1,[2,44],{42:Gt}),e(I1,[2,70]),e(I1,[2,69]),{60:[1,224],65:f,79:208,113:A,114:d,115:E},e(I1,[2,72]),e(y1,[2,74]),{30:225,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(it,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{10:Z,58:J,81:$,89:228,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:239,101:[1,240],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:241,101:[1,242],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{102:[1,243]},{10:Z,58:J,81:$,89:244,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{42:S,45:245,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(l1,[2,80]),e(N,[2,52]),{49:[1,250],65:f,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:f,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,254],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(H1,[2,48]),e(T,[2,114],{103:m1}),e(Kt,[2,123],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(H,[2,125]),e(H,[2,127]),e(H,[2,128]),e(H,[2,129]),e(H,[2,130]),e(H,[2,131]),e(H,[2,132]),e(H,[2,133]),e(H,[2,134]),e(T,[2,115],{103:m1}),{10:[1,257]},e(T,[2,116],{103:m1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:m1}),e(T,[2,99],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:W,9:q,11:Q,21:264},e(b,[2,34]),{10:Z,58:J,81:$,102:t1,104:265,105:230,106:e1,107:s1,108:u1,109:i1},e(H,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(N,[2,61]),e(it,l,{5:270}),e(Kt,[2,124],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,107]),{31:[1,273],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,274],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:Z,58:J,81:$,89:275,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:276,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:m1}),e(T,[2,118],{103:m1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var p=new Error(a);throw p.hash=o,p}},parse:function(a){var o=this,p=[0],r=[],C=[null],t=[],R1=this.table,s="",j=0,jt=0,Se=2,Yt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(d1.yy[at]=this.yy[at]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ct=_.yylloc;t.push(ct);var Be=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(){var n1;return n1=r.pop()||_.lex()||Yt,typeof n1!="number"&&(n1 instanceof Array&&(r=n1,n1=r.pop()),n1=o.symbols_[n1]||n1),n1}for(var G,E1,Y,ot,v1={},W1,r1,Xt,q1;;){if(E1=p[p.length-1],this.defaultActions[E1]?Y=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=xe()),Y=R1[E1]&&R1[E1][G]),typeof Y>"u"||!Y.length||!Y[0]){var lt="";q1=[];for(W1 in R1[E1])this.terminals_[W1]&&W1>Se&&q1.push("'"+this.terminals_[W1]+"'");_.showPosition?lt="Parse error on line "+(j+1)+`: `+_.showPosition()+` Expecting `+q1.join(", ")+", got '"+(this.terminals_[G]||G)+"'":lt="Parse error on line "+(j+1)+": Unexpected "+(G==Yt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(lt,{text:_.match,token:this.terminals_[G]||G,line:_.yylineno,loc:ct,expected:q1})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E1+", token: "+G);switch(Y[0]){case 1:p.push(G),C.push(_.yytext),t.push(_.yylloc),p.push(Y[1]),G=null,jt=_.yyleng,s=_.yytext,j=_.yylineno,ct=_.yylloc;break;case 2:if(r1=this.productions_[Y[1]][1],v1.$=C[C.length-r1],v1._$={first_line:t[t.length-(r1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(r1||1)].first_column,last_column:t[t.length-1].last_column},Be&&(v1._$.range=[t[t.length-(r1||1)].range[0],t[t.length-1].range[1]]),ot=this.performAction.apply(v1,[s,jt,j,d1.yy,Y[1],C,t].concat(_e)),typeof ot<"u")return ot;r1&&(p=p.slice(0,-1*r1*2),C=C.slice(0,-1*r1),t=t.slice(0,-1*r1)),p.push(this.productions_[Y[1]][0]),C.push(v1.$),t.push(v1._$),Xt=R1[p[p.length-2]][p[p.length-1]],p.push(Xt);break;case 3:return!0}}return!0}},Ce=function(){var h1={EOF:1,parseError:function(o,p){if(this.yy.parser)this.yy.parser.parseError(o,p);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,p=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),p.length-1&&(this.yylineno-=p.length-1);var C=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:p?(p.length===r.length?this.yylloc.first_column:0)+r[r.length-p.length].length-p[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[C[0],C[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-61eb444c.HtnM_56Q.js b/_nuxt/flowDiagram-61eb444c.ppyp2WN6.js similarity index 97% rename from _nuxt/flowDiagram-61eb444c.HtnM_56Q.js rename to _nuxt/flowDiagram-61eb444c.ppyp2WN6.js index 629946434e..62f819c6d0 100644 --- a/_nuxt/flowDiagram-61eb444c.HtnM_56Q.js +++ b/_nuxt/flowDiagram-61eb444c.ppyp2WN6.js @@ -1,4 +1,4 @@ -import{p as St,f as W}from"./flowDb-170db09d.C3nGUORL.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as M,f as tt,G as Nt}from"./layout.m-I5JUDt.js";import{h as x,p as P,q as z,r as et,c as J,j as rt,l as R,t as V,u as At}from"./mermaid-934d9bea.A2NtSsGH.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,s as Bt}from"./styles-b966c4ae.YmD_K0mm.js";import{l as Mt}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./index-67a42d7d.xUqpZOgv.js";import"./edges-80f1ebb6.sUApLEFd.js";import"./createText-aebacdfe.T0gmTUMP.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Rt(r,e){return fetch(r,e).then(Dt)}function Gt(r){return(e,t)=>Rt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Pt=Gt("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-170db09d.7WV-jgHZ.js";import{h as S,u as Lt,r as Et,p as _t,l as Tt,d as M,f as tt,G as Nt}from"./layout.nII1iIDV.js";import{h as x,p as P,q as z,r as et,c as J,j as rt,l as R,t as V,u as At}from"./mermaid-934d9bea.1859dh9d.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,s as Bt}from"./styles-b966c4ae.U5vEx3p_.js";import{l as Mt}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./index-67a42d7d.V6muVu2_.js";import"./edges-80f1ebb6.d3gBK9Nl.js";import"./createText-aebacdfe.wmc7v5UB.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Rt(r,e){return fetch(r,e).then(Dt)}function Gt(r){return(e,t)=>Rt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Pt=Gt("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,g){var f=p.x-t.x,y=p.y-t.y,k=Math.sqrt(f*f+y*y),I=g.x-t.x,E=g.y-t.y,U=Math.sqrt(I*I+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=D(e,"output"),a=D(n,"clusters"),s=D(n,"edgePaths"),i=X(D(n,"edgeLabels"),t),o=q(D(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:P};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")&&M(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&M(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&M(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),M(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=""),M(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 D(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 wt(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 mt(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=wt,r.shapes().cylinder=mt,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:wt}),r({cylinder:mt}),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={},we=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 I 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=I,y.appendChild(E)}p=y}let g=0,f="";switch(l.type){case"round":g=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"}R.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:g,ry:g,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++;const o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end,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,P):r.defaultInterpolate!==void 0?l.curve=V(r.defaultInterpolate,P):l.curve=V(xt.curve,P),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)})},me=function(r,e){return R.info("Extracting classes"),e.db.getClasses()},xe=function(r,e,t,n){R.info("Drawing flowchart");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;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 w=p.length-1;w>=0;w--)u=p[w],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const g=n.db.getVertices();R.warn("Get vertices",g);const f=n.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){u=p[y],Bt("cluster").append("text");for(let w=0;w{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,be.setConf(r.flowchart),W.clear(),W.setGen("gen-1")}};export{De as diagram}; diff --git a/_nuxt/flowDiagram-v2-2f8f667a.FYcPW-iT.js b/_nuxt/flowDiagram-v2-2f8f667a.FYcPW-iT.js deleted file mode 100644 index bfe58aa10c..0000000000 --- a/_nuxt/flowDiagram-v2-2f8f667a.FYcPW-iT.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,f as o}from"./flowDb-170db09d.C3nGUORL.js";import{f as t,g as a}from"./styles-b966c4ae.YmD_K0mm.js";import{ar as s}from"./mermaid-934d9bea.A2NtSsGH.js";import"./layout.m-I5JUDt.js";import"./index-67a42d7d.xUqpZOgv.js";import"./edges-80f1ebb6.sUApLEFd.js";import"./createText-aebacdfe.T0gmTUMP.js";import"./line.GPn4lxsZ.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";const A={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,s({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{A as diagram}; diff --git a/_nuxt/flowDiagram-v2-2f8f667a.cLw1ukf0.js b/_nuxt/flowDiagram-v2-2f8f667a.cLw1ukf0.js new file mode 100644 index 0000000000..86629a0e4b --- /dev/null +++ b/_nuxt/flowDiagram-v2-2f8f667a.cLw1ukf0.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-170db09d.7WV-jgHZ.js";import{f as t,g as a}from"./styles-b966c4ae.U5vEx3p_.js";import{ar as s}from"./mermaid-934d9bea.1859dh9d.js";import"./layout.nII1iIDV.js";import"./index-67a42d7d.V6muVu2_.js";import"./edges-80f1ebb6.d3gBK9Nl.js";import"./createText-aebacdfe.wmc7v5UB.js";import"./line.ik9Fl7Dj.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";const A={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,s({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{A as diagram}; diff --git a/_nuxt/flowchart-elk-definition-e097735e.yxP0468I.js b/_nuxt/flowchart-elk-definition-e097735e.rzBaTVVI.js similarity index 99% rename from _nuxt/flowchart-elk-definition-e097735e.yxP0468I.js rename to _nuxt/flowchart-elk-definition-e097735e.rzBaTVVI.js index 81589739a6..338017bfda 100644 --- a/_nuxt/flowchart-elk-definition-e097735e.yxP0468I.js +++ b/_nuxt/flowchart-elk-definition-e097735e.rzBaTVVI.js @@ -1,4 +1,4 @@ -import{d as bMe,p as wMe}from"./flowDb-170db09d.C3nGUORL.js";import{l as K1,h as lI,a_ as OH,u as gMe,q as V1n,t as X1n,p as IH,j as pMe}from"./mermaid-934d9bea.A2NtSsGH.js";import{i as vMe,a as mMe,l as kMe,b as yMe,j as jMe}from"./edges-80f1ebb6.sUApLEFd.js";import{c as Hee,g as EMe}from"./_commonjsHelpers.5-cIlDoe.js";import{l as CMe}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./createText-aebacdfe.T0gmTUMP.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";function PH(Ae){throw new Error('Could not dynamically require "'+Ae+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Uee={exports:{}};(function(Ae,At){(function(ft){Ae.exports=ft()})(function(){return function(){function ft(dt,Vt,Et){function y(Bt,qt){if(!Vt[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 Ii=Vt[Bt]={exports:{}};dt[Bt][0].call(Ii.exports,function(An){var Uc=dt[Bt][1][An];return y(Uc||An)},Ii,Ii.exports,ft,dt,Vt,Et)}return Vt[Bt].exports}for(var Ht=typeof PH=="function"&&PH,Lc=0;Lc0&&arguments[0]!==void 0?arguments[0]:{},Ki=Ge.defaultLayoutOptions,Ii=Ki===void 0?{}:Ki,An=Ge.algorithms,Uc=An===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:An,Nc=Ge.workerFactory,ju=Ge.workerUrl;if(y(this,Bt),this.defaultLayoutOptions=Ii,this.initialized=!1,typeof ju>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var vr=Nc;typeof ju<"u"&&typeof Nc>"u"&&(vr=function(q1){return new Worker(q1)});var Jo=vr(ju);if(typeof Jo.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Lc(Jo),this.worker.postMessage({cmd:"register",algorithms:Uc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Et(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ii=Ki.layoutOptions,An=Ii===void 0?this.defaultLayoutOptions:Ii,Uc=Ki.logging,Nc=Uc===void 0?!1:Uc,ju=Ki.measureExecutionTime,vr=ju===void 0?!1:ju;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:An,options:{logging:Nc,measureExecutionTime:vr}}):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}();Vt.default=Ht;var Lc=function(){function Bt(qt){var Ge=this;if(y(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 Et(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Ii=this;return new Promise(function(An,Uc){Ii.resolvers[Ki]=function(Nc,ju){Nc?(Ii.convertGwtStyleError(Nc),Uc(Nc)):An(ju)},Ii.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Ii=Ki.data,An=Ge.resolvers[Ii.id];An&&(delete Ge.resolvers[Ii.id],Ii.error?An(Ii.error):An(null,Ii.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,Vt){(function(Et){(function(){var y;typeof window<"u"?y=window:typeof Et<"u"?y=Et:typeof self<"u"&&(y=self);var Ht;function Lc(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Ii(){}function An(){}function Uc(){}function Nc(){}function ju(){}function vr(){}function Jo(){}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(){Cu(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){si(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){$f(),this.a=n}function Rmn(n){$f(),this.a=n}function _mn(n){$f(),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){ci(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 hi(){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 hi}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(){Tt.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(){hi.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 Tt}function uG(){this.a=new hi}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 mr(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 $r(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 Hu(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 Sf(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 Ee(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 Lc}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=Ce(pe(Ji))}function u2(n){$f(),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){mr.call(this,n)}function Pf(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){mr.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 kr(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,mi=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 Mf[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 y.Date}function nh(){nh=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 Uu(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 Uu(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 Si(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 hi}function Akn(){hM(),this.a=new hi}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 ki(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 Fu(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){Cu(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){ri.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 Zu(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 ni(n.a,e.a)}function Ore(n,e){return Wc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function If(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 Wc(n.g,e.g)}function Fr(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 xr(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 cs(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 kr(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!=Ef&&n!=ql}function qu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return cs(new li,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 Yo(n,e,t){nu(n,e),eu(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){Zc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,ef(n))}function Gre(n,e){return ob(e,ef(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){ri.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){vf||(n.b=e)}function _O(n,e,t){return St(n,e,t),t}function wyn(n,e,t){St(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Yo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Du(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 Zo(){Zo=N,y.Math.log(2)}function ms(){ms=N,Ch=(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 wi(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 ju)}function oce(n,e){return ns(),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),Ci(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 nf(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,nu(n,0),eu(n,0)}function ljn(n){Tt.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 Gu(n,e,t){Xu.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(Du(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:Nr(n)}function fue(n){return n==null?null:Nr(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 Ce(n){return A5(n==null||ki(n)),n}function uU(n){this.q=new y.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 ns(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Qu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){vf||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 Df(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=os(n,e,3,t),t}function lU(n,e,t){return t=os(n,e,6,t),t}function aU(n,e,t){return t=os(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 ri(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=(rs(n,Pb),new Pc(n))}function Djn(n){this.a=(rs(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new vr),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){Cu(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 hi,this.a=new hi}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=os(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function yi(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){mr.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 Mn(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 ni(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Wc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Wc(n.a.d.p,e.a.d.p)}function Hue(n,e){return ni(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?xr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==Eh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){vf||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){$f(),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){Wu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,nh(),tu(Date.now())}function lEn(){lEn=N,Xin=new Lc,XA=new Lc}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 $f(){$f=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return lf(),$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 Tu(),$e((FSn(),Jzn),n)}function ese(n){return Yc(),$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 hf(),$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 xf(),$e((eSn(),jJn),n)}function Jse(n){return tf(),$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 fh(),$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 of(),$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 us(),$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 Mi(),$e((bIn(),lne),n)}function Foe(n){return Mu(),$e((AIn(),ane),n)}function xoe(n){return Qu(),$e((OPn(),vne),n)}function Loe(n){return Lu(),$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 Vu(),$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 nh(),me(R(n.a),e)}function qoe(n,e){return nh(),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 hi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Tt,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 th(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(Fr(n)?Ks(n):n))}function Joe(n,e){return Wc(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(),Wc(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(),hh(n)==Pt(ml(n))}function ufe(n){return C2(),ml(n)==Pt(hh(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 ih(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 St(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 Mu(),!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|Bf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Bf}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,Yt.call(this,e,t,i)}function gi(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){Yt.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 Hu(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 Mn(n.substr(0,e.length),e)}function Uu(n,e){return ki(e)?QD(n,e):!!Sr(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?y.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),Zc(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 Wu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return y.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 Ff(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 Yt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Yt(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 Wc(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),Zc(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 ki(e)?yr(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 rs(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 ch(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(bi,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return ni(bu(n)*zu(n),bu(e)*zu(e))}function t1e(n,e){return ni(bu(n)*zu(n),bu(e)*zu(e))}function i1e(n,e){return ni(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return ni(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?eu(n,e.b-n.f/2):nu(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&&Mn(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(mh,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){St(n.c[e.g],t.g,i),St(n.c[t.g],e.g,i)}function ZD(n,e,t,i){St(n.c[e.g],e.g,t),St(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 xf(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return tf(),A(M(EJn,1),z,515,0,[Ja,yf])}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 xf(){xf=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),Zc(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==Pt(hh(e))||n==Pt(ml(e))}function vc(n,e){return e==null?Vr(Sr(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 ef(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 Pt(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 y.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new hi,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 tf(){tf=N,Ja=new nz(hN,0),yf=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 yr(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=Zu(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 Ci(n,e){n.d&&Jc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Jc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function jr(n,e){n.c&&Jc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Jc(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 hi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new mr(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=Eu(new li,(Qi(),Or),(rr(),Kk))}function tX(){tX=N,ZQn=Eu(new li,(Qi(),Or),(rr(),Kk))}function CMn(){CMn=N,eJn=Eu(new li,(Qi(),Or),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new li,(Qi(),Or),(rr(),km))}function ns(){ns=N,mJn=Ze(new li,(Qi(),Or),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new li,(Qi(),Or),(rr(),km))}function c$(){c$=N,TJn=Ze(new li,(Qi(),Or),(rr(),km))}function AMn(){AMn=N,lYn=Eu(new li,(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 Tt,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function s$(n,e){n.a&&Jc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Jc(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(Ou(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Ou(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))),rs(e,W_n),this.a=e}function uh(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(ui(cl(e,24),FM)),ge(ui(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new mr(cnn+n+unn+e))}function Te(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|Bf}function LMn(n){dyn(this),Wmn(this.a,KV(y.Math.max(8,n))<<1)}function rf(n){return Gr(A(M(di,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return lf(),A(M(Bu,1),z,132,0,[Win,ls,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Tu(),A(M(Qzn,1),z,461,0,[Vf,Ol,Co])}function ple(){return Yc(),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,Su,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 of(),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 j(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&&Du(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(tu(n.q.getTime()),tu(e.q.getTime()))}function Lf(n){return u(af(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(af(n,F(mh,E1,10,n.c.length,0,1)),193)}function sae(n){return ns(),!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),wi(t,n.c),eBn(n,t,0)}function Ti(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 mr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new mr(W5e(n,e,t)))}function d$(n,e){if(ci(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 Fr(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 Pi(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((rs(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(af(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&&Jc(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 li(){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 hf(),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),Ci(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),St(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,St(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 Si(e,i))}function qae(n,e,t){return TD(Y(Vr(Sr(n.f,e))),Y(Vr(Sr(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(),ii)&&e==ii?4:n==ii||e==ii?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?ru:Nr(e)}function Uae(n,e){return u(e==null?Vr(Sr(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=Pt(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function sh(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||(Ou(n),n.n=new wCn(n,ar,n),Ar(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 ts(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(ui(cl(n,24),FM)),ge(ui(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((xf(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((tf(),A(M(EJn,1),z,515,0,[Ja,yf])))}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=Pt(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,[Qf,$l,Hc,Cc,Or])}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?ru:Nr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Tt,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn(Ft,Ft),this.a=new fn(Qt,Qt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!vf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,vf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?Mn(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 Ou(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,[kh,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,vi,Zf,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&Nu,t=n>>22&Nu,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,Pr(e,n),H(e,(nn(),Mr),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 mr(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 y.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return ki(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function sf(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 Tt,this.a=new Tt,this.b=new Tt,this.a=new Tt}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ri("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((Tu(),A(M(Qzn,1),z,461,0,[Vf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Yc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((lf(),A(M(Bu,1),z,132,0,[Win,ls,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,Su,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((of(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Mi(),A(M(Ghn,1),z,98,0,[ql,Ef,Tv,td,Eh,Ac])}function wa(n,e){return!n.o&&(n.o=new Xu((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 ni(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new li,(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=Pt(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((Mu(),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:Nr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Nr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ci(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 Tu(){Tu=N,Vf=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((hf(),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((Vu(),A(M(jne,1),z,396,0,[gs,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((us(),A(M(sne,1),z,285,0,[Ey,yh,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((Qu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=Ft,Tee=Qt,x1n=new S9(Ft),Mee=new S9(Qt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Si(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Si(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A($u(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Jc(n,e){var t;return t=xr(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 Fr(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function xr(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){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){eu(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(),vh)).Ac(n.q?n.q:(Pn(),Pn(),vh))}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,Ii=Ki===void 0?{}:Ki,An=Ge.algorithms,Uc=An===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:An,Nc=Ge.workerFactory,ju=Ge.workerUrl;if(y(this,Bt),this.defaultLayoutOptions=Ii,this.initialized=!1,typeof ju>"u"&&typeof Nc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var vr=Nc;typeof ju<"u"&&typeof Nc>"u"&&(vr=function(q1){return new Worker(q1)});var Jo=vr(ju);if(typeof Jo.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Lc(Jo),this.worker.postMessage({cmd:"register",algorithms:Uc}).then(function(H1){return qt.initialized=!0}).catch(console.err)}return Et(Bt,[{key:"layout",value:function(Ge){var Ki=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ii=Ki.layoutOptions,An=Ii===void 0?this.defaultLayoutOptions:Ii,Uc=Ki.logging,Nc=Uc===void 0?!1:Uc,ju=Ki.measureExecutionTime,vr=ju===void 0?!1:ju;return Ge?this.worker.postMessage({cmd:"layout",graph:Ge,layoutOptions:An,options:{logging:Nc,measureExecutionTime:vr}}):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}();Vt.default=Ht;var Lc=function(){function Bt(qt){var Ge=this;if(y(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 Et(Bt,[{key:"postMessage",value:function(Ge){var Ki=this.id||0;this.id=Ki+1,Ge.id=Ki;var Ii=this;return new Promise(function(An,Uc){Ii.resolvers[Ki]=function(Nc,ju){Nc?(Ii.convertGwtStyleError(Nc),Uc(Nc)):An(ju)},Ii.worker.postMessage(Ge)})}},{key:"receive",value:function(Ge,Ki){var Ii=Ki.data,An=Ge.resolvers[Ii.id];An&&(delete Ge.resolvers[Ii.id],Ii.error?An(Ii.error):An(null,Ii.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,Vt){(function(Et){(function(){var y;typeof window<"u"?y=window:typeof Et<"u"?y=Et:typeof self<"u"&&(y=self);var Ht;function Lc(){}function Bt(){}function qt(){}function Ge(){}function Ki(){}function Ii(){}function An(){}function Uc(){}function Nc(){}function ju(){}function vr(){}function Jo(){}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(){Cu(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){si(e,n)}function Vte(n,e,t){n.Od(t,e)}function $9(n,e){n.e=e,e.b=n}function Bq(n){$f(),this.a=n}function Rmn(n){$f(),this.a=n}function _mn(n){$f(),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){ci(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 hi(){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 hi}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(){Tt.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(){hi.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 Tt}function uG(){this.a=new hi}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 mr(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 $r(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 Hu(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 Sf(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 Ee(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 Lc}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=Ce(pe(Ji))}function u2(n){$f(),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){mr.call(this,n)}function Pf(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){mr.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 kr(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,mi=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 Mf[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 y.Date}function nh(){nh=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 Uu(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 Uu(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 Si(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 hi}function Akn(){hM(),this.a=new hi}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 ki(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 Fu(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){Cu(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){ri.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 Zu(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 ni(n.a,e.a)}function Ore(n,e){return Wc(n.a,e.a)}function Dre(n,e){return xCn(n.a,e.a)}function If(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 Wc(n.g,e.g)}function Fr(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 xr(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 cs(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 kr(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!=Ef&&n!=ql}function qu(n){return n.Lg()&&n.Mg()}function oyn(n){return JE(u(n,118))}function iE(n){return cs(new li,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 Yo(n,e,t){nu(n,e),eu(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){Zc(n.xf(),new t5n(n))}function Tw(n){return n!=null?mt(n):0}function qre(n,e){return ob(e,ef(n))}function Gre(n,e){return ob(e,ef(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){ri.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){vf||(n.b=e)}function _O(n,e,t){return St(n,e,t),t}function wyn(n,e,t){St(n.c[e.g],e.g,t)}function Jre(n,e,t){u(n.c,69).Xh(e,t)}function Yre(n,e,t){Yo(t,t.i+n,t.j+e)}function Zre(n,e){me(bc(n.a),PMn(e))}function nce(n,e){me(Du(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 Zo(){Zo=N,y.Math.log(2)}function ms(){ms=N,Ch=(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 wi(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 ju)}function oce(n,e){return ns(),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),Ci(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 nf(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,nu(n,0),eu(n,0)}function ljn(n){Tt.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 Gu(n,e,t){Xu.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(Du(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:Nr(n)}function fue(n){return n==null?null:Nr(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 Ce(n){return A5(n==null||ki(n)),n}function uU(n){this.q=new y.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 ns(),syn(u(n,197))}function W0(){W0=N,prn=Cn((Qu(),id))}function gue(n,e){e.a?e7e(n,e):zO(n.a,e.b)}function Tjn(n,e){vf||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 Df(n,e){return T8(e,ann),n.f=e,n}function hU(n,e,t){return t=os(n,e,3,t),t}function lU(n,e,t){return t=os(n,e,6,t),t}function aU(n,e,t){return t=os(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 ri(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=(rs(n,Pb),new Pc(n))}function Djn(n){this.a=(rs(n,Pb),new Pc(n))}function a8(n){return!n.a&&(n.a=new vr),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){Cu(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 hi,this.a=new hi}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=os(n,e,11,t),t}function st(n,e){return n.a+=e.a,n.b+=e.b,n}function yi(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){mr.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 Mn(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 ni(n[e.b],n[t.b])}function Rue(n,e){return H(e,(nn(),Jk),n)}function _ue(n,e){return Wc(e.a.d.p,n.a.d.p)}function Kue(n,e){return Wc(n.a.d.p,e.a.d.p)}function Hue(n,e){return ni(n.c-n.s,e.c-e.s)}function eEn(n){return n.c?xr(n.c.a,n,0):-1}function que(n){return n<100?null:new Q1(n)}function p2(n){return n==td||n==Eh||n==Ac}function tEn(n,e){return I(e,15)&&oBn(n.c,e)}function Gue(n,e){vf||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){$f(),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){Wu(n.a),uPn(n.c,n.b),n.b=null}function hEn(n){this.a=n,nh(),tu(Date.now())}function lEn(){lEn=N,Xin=new Lc,XA=new Lc}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 $f(){$f=N,new Bq((Pn(),Pn(),cr))}function Xue(n){return FC(),$e((pPn(),Dzn),n)}function Vue(n){return lf(),$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 Tu(),$e((FSn(),Jzn),n)}function ese(n){return Yc(),$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 hf(),$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 xf(),$e((eSn(),jJn),n)}function Jse(n){return tf(),$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 fh(),$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 of(),$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 us(),$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 Mi(),$e((bIn(),lne),n)}function Foe(n){return Mu(),$e((AIn(),ane),n)}function xoe(n){return Qu(),$e((OPn(),vne),n)}function Loe(n){return Lu(),$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 Vu(),$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 nh(),me(R(n.a),e)}function qoe(n,e){return nh(),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 hi,_$(e,n),e}function TEn(n){var e;return e=new Wq,nF(e,n),e}function p8(n){var e;return e=new Tt,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 th(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(Fr(n)?Ks(n):n))}function Joe(n,e){return Wc(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(),Wc(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(),hh(n)==Pt(ml(n))}function ufe(n){return C2(),ml(n)==Pt(hh(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 ih(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 St(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 Mu(),!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|Bf:e}function SCn(n,e){this.c=0,this.d=n,this.b=e|64|Bf}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,Yt.call(this,e,t,i)}function gi(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){Yt.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 Hu(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 Mn(n.substr(0,e.length),e)}function Uu(n,e){return ki(e)?QD(n,e):!!Sr(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?y.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),Zc(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 Wu(n){z0(n.c!=-1),n.d.$c(n.c),n.b=n.c,n.c=-1}function L5(n){return y.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 Ff(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 Yt(zl,n,4)),n.a}function Ad(n){return!n.d&&(n.d=new Yt(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 Wc(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),Zc(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 ki(e)?yr(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 rs(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 ch(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(bi,n,12,3)),n.b}function n1e(n){return n!=null&&_9(tI,n.toLowerCase())}function e1e(n,e){return ni(bu(n)*zu(n),bu(e)*zu(e))}function t1e(n,e){return ni(bu(n)*zu(n),bu(e)*zu(e))}function i1e(n,e){return ni(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function r1e(n,e){return ni(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function TTn(n,e,t){t.a?eu(n,e.b-n.f/2):nu(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&&Mn(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(mh,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){St(n.c[e.g],t.g,i),St(n.c[t.g],e.g,i)}function ZD(n,e,t,i){St(n.c[e.g],e.g,t),St(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 xf(),A(M(yJn,1),z,516,0,[M0,I1])}function x1e(){return tf(),A(M(EJn,1),z,515,0,[Ja,yf])}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 xf(){xf=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),Zc(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==Pt(hh(e))||n==Pt(ml(e))}function vc(n,e){return e==null?Vr(Sr(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 ef(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 Pt(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 y.Math.abs(n)0}function bMn(){this.a=new Sh,this.e=new hi,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 tf(){tf=N,Ja=new nz(hN,0),yf=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 yr(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=Zu(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 Ci(n,e){n.d&&Jc(n.d.e,n),n.d=e,n.d&&W(n.d.e,n)}function Hi(n,e){n.c&&Jc(n.c.g,n),n.c=e,n.c&&W(n.c.g,n)}function jr(n,e){n.c&&Jc(n.c.a,n),n.c=e,n.c&&W(n.c.a,n)}function Hr(n,e){n.i&&Jc(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 hi,gt(n,new Vvn(e))}function tb(n,e){if(n<0||n>e)throw T(new mr(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=Eu(new li,(Qi(),Or),(rr(),Kk))}function tX(){tX=N,ZQn=Eu(new li,(Qi(),Or),(rr(),Kk))}function CMn(){CMn=N,eJn=Eu(new li,(Qi(),Or),(rr(),Kk))}function TMn(){TMn=N,gJn=Ze(new li,(Qi(),Or),(rr(),km))}function ns(){ns=N,mJn=Ze(new li,(Qi(),Or),(rr(),km))}function MMn(){MMn=N,kJn=Ze(new li,(Qi(),Or),(rr(),km))}function c$(){c$=N,TJn=Ze(new li,(Qi(),Or),(rr(),km))}function AMn(){AMn=N,lYn=Eu(new li,(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 Tt,this.b=n.b,this.d=n.c,this.a=n.a}function u$(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function s$(n,e){n.a&&Jc(n.a.k,n),n.a=e,n.a&&W(n.a.k,n)}function o$(n,e){n.b&&Jc(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(Ou(u(n.Cb,88)),2)}function f$(n,e){I(n.Cb,88)&&yb(Ou(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))),rs(e,W_n),this.a=e}function uh(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(ui(cl(e,24),FM)),ge(ui(e,FM)))}function Ln(n,e){if(n<0||n>=e)throw T(new mr(cnn+n+unn+e))}function Te(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|Bf}function LMn(n){dyn(this),Wmn(this.a,KV(y.Math.max(8,n))<<1)}function rf(n){return Gr(A(M(di,1),q,8,0,[n.i.n,n.n,n.a]))}function ble(){return lf(),A(M(Bu,1),z,132,0,[Win,ls,Rb])}function wle(){return _o(),A(M(_b,1),z,232,0,[Zr,Fc,nc])}function gle(){return Tu(),A(M(Qzn,1),z,461,0,[Vf,Ol,Co])}function ple(){return Yc(),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,Su,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 of(),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 j(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&&Du(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(tu(n.q.getTime()),tu(e.q.getTime()))}function Lf(n){return u(af(n,F(GR,MN,17,n.c.length,0,1)),474)}function I8(n){return u(af(n,F(mh,E1,10,n.c.length,0,1)),193)}function sae(n){return ns(),!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),wi(t,n.c),eBn(n,t,0)}function Ti(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 mr(j6e(n,e)));return n}function fAn(n,e,t){if(n<0||et)throw T(new mr(W5e(n,e,t)))}function d$(n,e){if(ci(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 Fr(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 Pi(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((rs(n,AL),KC(qi(qi(5,n),n/10|0))))}function bAn(n){return u(af(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&&Jc(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 li(){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 hf(),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),Ci(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),St(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,St(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 Si(e,i))}function qae(n,e,t){return TD(Y(Vr(Sr(n.f,e))),Y(Vr(Sr(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(),ii)&&e==ii?4:n==ii||e==ii?8:32}function DAn(n,e){return B(e)===B(n)?"(this Map)":e==null?ru:Nr(e)}function Uae(n,e){return u(e==null?Vr(Sr(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=Pt(t);return n}function vX(n,e){var t;return t=C8(f3(new x$(n,e))),DE(new x$(n,e)),t}function sh(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||(Ou(n),n.n=new wCn(n,ar,n),Ar(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 ts(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(ui(cl(n,24),FM)),ge(ui(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((xf(),A(M(yJn,1),z,516,0,[M0,I1])))}function tSn(){tSn=N,CJn=Fe((tf(),A(M(EJn,1),z,515,0,[Ja,yf])))}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=Pt(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,[Qf,$l,Hc,Cc,Or])}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?ru:Nr(n),I(n,78)?u(n,78):null)}function dSn(n){B_n(),Nmn(this),this.a=new Tt,QV(this,n),Ke(this.a,n)}function bSn(){RO(this),this.b=new fn(Ft,Ft),this.a=new fn(Qt,Qt)}function wSn(n,e){this.c=0,this.b=e,qkn.call(this,n,17493),this.a=this.c}function y$(n){CC(),!vf&&(this.c=n,this.e=!0,this.a=new X)}function CC(){CC=N,vf=!0,Fzn=!1,xzn=!1,Nzn=!1,Lzn=!1}function CX(n,e){return I(e,149)?Mn(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 Ou(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,[kh,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,vi,Zf,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&Nu,t=n>>22&Nu,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,Pr(e,n),H(e,(nn(),Mr),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 mr(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 y.Math.min(al(e.a,n.d.d.c),al(e.b,n.d.d.c))}function O2(n,e){return ki(e)?e==null?MY(n.f,null):$On(n.g,e):MY(n.f,e)}function sf(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 Tt,this.a=new Tt,this.b=new Tt,this.a=new Tt}function SC(){SC=N,Ym=new kt("org.eclipse.elk.labels.labelManager")}function PSn(){PSn=N,$cn=new ri("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((Tu(),A(M(Qzn,1),z,461,0,[Vf,Ol,Co])))}function xSn(){xSn=N,Zzn=Fe((Yc(),A(M(Yzn,1),z,462,0,[Wo,Dl,To])))}function LSn(){LSn=N,Bzn=Fe((lf(),A(M(Bu,1),z,132,0,[Win,ls,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,Su,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((of(),A(M(Phn,1),z,272,0,[jv,cw,Ev])))}function Pde(){return Mi(),A(M(Ghn,1),z,98,0,[ql,Ef,Tv,td,Eh,Ac])}function wa(n,e){return!n.o&&(n.o=new Xu((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 ni(K(Y(k(n,(G(),k0)))),K(Y(k(e,k0))))}function aPn(){aPn=N,aYn=Xd(Xd(Dj(new li,(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=Pt(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((Mu(),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:Nr(n)}function s0e(n){return I(n,172)?""+u(n,172).a:n==null?null:Nr(n)}function wPn(n,e){if(e.a)throw T(new _r(wKn));ci(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 Tu(){Tu=N,Vf=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((hf(),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((Vu(),A(M(jne,1),z,396,0,[gs,Yhn,Jhn,Zhn])))}function SPn(){SPn=N,one=Fe((us(),A(M(sne,1),z,285,0,[Ey,yh,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((Qu(),A(M(o9,1),z,374,0,[Ay,id,My,uw])))}function DPn(){DPn=N,mM(),F1n=Ft,Tee=Qt,x1n=new S9(Ft),Mee=new S9(Qt)}function K8(){K8=N,Vcn=new VG(Xh,0),xS=new VG("IMPROVE_STRAIGHTNESS",1)}function o0e(n,e){return h3(),W(n,new Si(e,Q(e.e.c.length+e.g.c.length)))}function f0e(n,e){return h3(),W(n,new Si(e,Q(e.e.c.length+e.g.c.length)))}function WX(n,e){return U8(e)!=10&&A($u(e),e.hm,e.__elementTypeId$,U8(e),n),n}function Jc(n,e){var t;return t=xr(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 Fr(n)&&(e=0-n,!isNaN(e))?e:bl(z3(n))}function xr(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){nu(n,e==null||jE((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function d0e(n,e){eu(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(),vh)).Ac(n.q?n.q:(Pn(),Pn(),vh))}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 oh(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?ni(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,vi,Zf,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,[Qf,$l,Hc,Cc,Or])))}function YPn(){YPn=N,ene=Fe((sr(),A(M(e9,1),z,103,0,[kh,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?(rs(n,J_n),n+1):n=0&&e=-.01&&n.a<=wf&&(n.a=0),n.b>=-.01&&n.b<=wf&&(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 Cr(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=y.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=y.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),Ci(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;Pt(t);)if(t=Pt(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 is(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 Zo(),mo(Cl),y.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function iV(n,e){return Zo(),mo(Cl),y.Math.abs(n-e)<=Cl||n==e||isNaN(n)&&isNaN(e)}function X0e(n,e){return yl(),Wc(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(dh,ch(ge(Ni(e==null?0:mt(e),bh)),15)))))}function vIn(){vIn=N,$Wn=Fe((Qn(),A(M(zR,1),z,267,0,[ii,pi,Xt,Tc,Ju,mf])))}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((fh(),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((Mu(),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,jh,eo,ds,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 nu(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 eu(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 gi(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 Me(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),Su=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 rs(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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 gi(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(dh,ch(ge(Ni(e==null?0:mt(e),bh)),15)))))}function ube(n,e,t){return cb(n,new Hvn(e),new mln,new qvn(t),A(M(Bu,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),ki(n)?yr(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=ui(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),Zc(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 gi(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 gi(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 gi(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 $t(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(),ki(n)?DX(n,Ce(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=y.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&Nu,i&Nu,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&Nu,i&Nu,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 Zt(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"),Cu(this)}function uF(n,e,t){return n>=128?!1:n<64?b5(ui(Ih(1,n),t),0):b5(ui(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,Pr(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(di,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:(St(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 kr(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(),Au)),10),e&&(t=e.c,Jc(t.a,e),t.a.c.length==0&&Jc(Gi(e).b,t))}function fDn(n){return vf?F($zn,lKn,572,0,0,1):u(af(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(ui(n[i],fr),ui(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||!ai(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 Vu(){Vu=N,gs=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 lf(){lf=N,Win=new uO("CONCURRENT",0),ls=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 Tt,c=_e(t,0);c.b!=c.d.c;)r=u(Re(c),8),Ke(i,new kr(r));aDn(n,e,i)}function Gwe(n){var e,t,i;for(e=0,i=F(di,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 mr(_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 $r("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?ru:Nr(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))),rs(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(),uu).Hc(n.j)?K(Y(k(n,(G(),hv)))):Gr(A(M(di,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=df(n,r,i),i&&i.Fi()}function nge(n,e){var t,i;for(i=xu(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=y.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 Hu(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),Pr(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),Zc(t.b,new _5n(e)),Zc(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 gi(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(),Au))!=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(),Tf)),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(),Tf)),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 gi(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),St(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 Yu(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 mr(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 gi(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 Sf("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?ni(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=ni(n.b.c,e.b.c),t!=0||(t=ni(n.a.a,e.a.a),t!=0)?t:ni(n.a.b,e.a.b)}function _ge(n,e){var t;if(t=te(n.k,e),t==null)throw T(new Sf("Port did not exist in input."));return MV(e,t),null}function Kge(n){var e,t;for(t=wNn(is(n)).Kc();t.Ob();)if(e=Ce(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(),as)),103),t==(sr(),kh)?(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 $r("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 Yt(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 Fr(n)&&Fr(e)&&(t=n-e,ik>1,n.k=t-1>>1}function OF(){_J();var n,e,t;t=qTe+++Date.now(),n=Gt(y.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?Ft:e<-34028234663852886e22?Qt: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),Zt(n.a,n.b),Zt(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(),kf))))||++r;return r}function n2e(n,e){var t,i,r;i=$w(e),r=K(Y(bb(i,(nn(),Mo)))),t=y.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 Zo(),mo(Cl),y.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],St(n,c,n[c-1]),St(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(),ii)?!1:C3(new $n(null,new Cd(new re(ue(ei(n).a.Kc(),new An)))),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 Nr(n){var e;return Array.isArray(n)&&n.im===Xg?J1($u(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&&(Te(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=uf(A(M(sMe,1),rn,831,0,[LQn])),this.b=new we,this.a=n,it(this.b,uP,1),Zc(NQn,new q6n(this))}function e$n(n,e){var t;return n.d?Uu(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=vf?null:n.d;t;){if(e=vf?null:t.b,e)return e;t=vf?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((Lu(),UP))&&(u(n.We(rw),174).Fc((Mu(),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=ui(t,fr),r=0;fc(i,0)!=0&&r0&&(Te(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&&(Te(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function LQ(n,e){var t;return n.i>0&&(e.lengthn.i&&St(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 kr(u(n.e.We((Xe(),Kg)),8)),n.B.Hc((Lu(),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(),vh))._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,ai(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),Ff(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?cf(Ih(e.a[1],32),ui(e.a[0],fr)):ui(e.a[0],fr),$d(Ni(e.e,t))))}function p7(n,e){var t;return Fr(n)&&Fr(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?(yr(Pv,n,i),yr(m9,n,r)):(yr(m9,n,i),yr(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)),y.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=y.setTimeout(Vie,10))),_A++==0?(E0e((aG(),din)),!0):!1}function G2e(n,e){var t,i,r;for(i=new re(ue(ei(n).a.Kc(),new An));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?(y.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function U2e(n,e){return Zo(),Zo(),mo(Cl),(y.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 Zo(),Zo(),mo(Cl),(y.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 Zo(),Zo(),mo(Cl),(y.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):Uu($y,$u(n))?u(te($y,$u(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+y.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=(Te(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:Mn(n,e)?!0:n.length==e.length&&Mn(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=Ce(Ko((!t.b&&(t.b=new Gu((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=Ce(Ko((!t.b&&(t.b=new Gu((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 An));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 hi,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))&&(Pt(n)?(e=u(hn(Pt(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),xr(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((Qu(),id))||n.q==(Mi(),Ac),n.u.Hc((Mu(),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(y.Math.min(n.a,e.a)-t/2,y.Math.min(n.b,e.b)-t/2,y.Math.abs(n.a-e.a)+t,y.Math.abs(n.b-e.b)+t)}function bpe(n,e){var t,i;return t=Wc(n.a.c.p,e.a.c.p),t!=0?t:(i=Wc(n.a.d.i.p,e.a.d.i.p),i!=0?i:Wc(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:ni(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&&St(e,i,null),e}function _$n(n,e){var t,i;for(i=n.a.length,e.lengthi&&St(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(),as)),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 sf(n.b))),new Fv(new qbn))).sd((ca(),V4))}function Ho(){Ho=N,Xn=new Z9("PARENTS",0),vi=new Z9("NODES",1),Zf=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(),kh}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:oh(n,i%100,2);break;default:oh(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=cf(r,Ih(1,e-64)));return r}function xT(n,e){var t,i;return i=null,ai(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(),ii)||i==mf)&&(t=new re(ue(ei(r).a.Kc(),new An)),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 $r(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=Ft;break;case 3:case 1:this.a=qrn,this.b=Qt}}function U$n(n,e,t){var i,r;if(n.c)nu(n.c,n.c.i+e),eu(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,Rf,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(bi,n,7,4)),de(n.e);return;case 8:!n.d&&(n.d=new Fn(bi,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 mr("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(Lr(e).a.Kc(),new An))),17).c.i,e.k==(Qn(),pi)&&n.b.Fc(e);while(e.k==(Qn(),pi));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 ki(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 Xu((Dc(),Ul),S0,n,0)),IT(n.o,e)):(!n.o&&(n.o=new Xu((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(mh,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*xu(n,31)*4656612873077393e-25);do t=xu(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,Cu(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 gi(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 gi(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 gi(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;rs(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(),ii),this.j=(rs(6,Pb),new Pc(6)),this.b=(rs(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(),Lt)),98))||(VX(n,e,k1(e,t)),VX(n,e,k1(e,(J(),ae))),VX(n,e,k1(e,Kn)),Pn(),wi(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 Yt(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 Yt(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(Ei,1),pr,25,15,[kF(n.a[0],e),kF(n.a[1],e),kF(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function cFn(n,e){var t;return t=A(M(Ei,1),pr,25,15,[pT(n.a[0],e),pT(n.a[1],e),pT(n.a[2],e)]),n.d&&(t[0]=y.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&&St(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(Ei,pr,25,i,15,1),n.d=F(Ei,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(Ei,1),pr,25,15,[ZQ(n,(_o(),Zr),e),ZQ(n,Fc,e),ZQ(n,nc,e)]),n.f&&(t[0]=y.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 mr(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 mr(i.g+RM+e+Ji+t+")."))):T(r)}}function kFn(n){var e;ai(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;ai(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(Vc(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=y.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-db6931fb.Z_lKYWBP.js b/_nuxt/ganttDiagram-db6931fb.KbuX0LsH.js similarity index 99% rename from _nuxt/ganttDiagram-db6931fb.Z_lKYWBP.js rename to _nuxt/ganttDiagram-db6931fb.KbuX0LsH.js index 61430002cb..fe8436bcff 100644 --- a/_nuxt/ganttDiagram-db6931fb.Z_lKYWBP.js +++ b/_nuxt/ganttDiagram-db6931fb.KbuX0LsH.js @@ -1,4 +1,4 @@ -import{av as Be,aw as Ze,ax as Xe,ay as qe,az as Dn,aA as Kt,aB as Mn,aC as nt,c as xt,s as Sn,g as _n,x as Un,y as Yn,b as Fn,a as Ln,A as En,n as An,l as qt,h as Pt,i as In,j as Wn,z as On}from"./mermaid-934d9bea.A2NtSsGH.js";import{c as ye,g as ke}from"./_commonjsHelpers.5-cIlDoe.js";import{b as zn,t as Ue,c as Hn,a as Nn,l as Vn}from"./linear.eWEBA0QA.js";import{i as Pn}from"./init.Hi12RPRh.js";import"./entry.q1HaRjkf.js";function Rn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=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 Bn(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 Zn(t){return t}var Bt=1,te=2,ue=3,Rt=4,Ye=1e-6;function Xn(t){return"translate("+t+",0)"}function qn(t){return"translate(0,"+t+")"}function Gn(t){return e=>+t(e)}function jn(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Qn(){return!this.__axis}function Ge(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,k=t===Bt||t===Rt?-1:1,C=t===Rt||t===te?"x":"y",F=t===Bt||t===ue?Xn:qn;function w(x){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=i??(e.tickFormat?e.tickFormat.apply(e,n):Zn),L=Math.max(s,0)+y,O=e.range(),W=+O[0]+_,B=+O[O.length-1]+_,Z=(e.bandwidth?jn:Gn)(e.copy(),_),Q=x.selection?x.selection():x,v=Q.selectAll(".domain").data([null]),A=Q.selectAll(".tick").data(q,e).order(),T=A.exit(),Y=A.enter().append("g").attr("class","tick"),D=A.select("line"),b=A.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(Y),D=D.merge(Y.append("line").attr("stroke","currentColor").attr(C+"2",k*s)),b=b.merge(Y.append("text").attr("fill","currentColor").attr(C,k*L).attr("dy",t===Bt?"0em":t===ue?"0.71em":"0.32em")),x!==Q&&(v=v.transition(x),A=A.transition(x),D=D.transition(x),b=b.transition(x),T=T.transition(x).attr("opacity",Ye).attr("transform",function(o){return isFinite(o=Z(o))?F(o+_):this.getAttribute("transform")}),Y.attr("opacity",Ye).attr("transform",function(o){var d=this.parentNode.__axis;return F((d&&isFinite(d=d(o))?d:Z(o))+_)})),T.remove(),v.attr("d",t===Rt||t===te?a?"M"+k*a+","+W+"H"+_+"V"+B+"H"+k*a:"M"+_+","+W+"V"+B:a?"M"+W+","+k*a+"V"+_+"H"+B+"V"+k*a:"M"+W+","+_+"H"+B),A.attr("opacity",1).attr("transform",function(o){return F(Z(o)+_)}),D.attr(C+"2",k*s),b.attr(C,k*L).text(g),Q.filter(Qn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===te?"start":t===Rt?"end":"middle"),Q.each(function(){this.__axis=Z})}return w.scale=function(x){return arguments.length?(e=x,w):e},w.ticks=function(){return n=Array.from(arguments),w},w.tickArguments=function(x){return arguments.length?(n=x==null?[]:Array.from(x),w):n.slice()},w.tickValues=function(x){return arguments.length?(r=x==null?null:Array.from(x),w):r&&r.slice()},w.tickFormat=function(x){return arguments.length?(i=x,w):i},w.tickSize=function(x){return arguments.length?(s=a=+x,w):s},w.tickSizeInner=function(x){return arguments.length?(s=+x,w):s},w.tickSizeOuter=function(x){return arguments.length?(a=+x,w):a},w.tickPadding=function(x){return arguments.length?(y=+x,w):y},w.offset=function(x){return arguments.length?(_=+x,w):_},w}function $n(t){return Ge(Bt,t)}function Jn(t){return Ge(ue,t)}const Kn=Math.PI/180,tr=180/Math.PI,Gt=18,je=.96422,Qe=1,$e=.82521,Je=4/29,wt=6/29,Ke=3*wt*wt,er=wt*wt*wt;function tn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return en(t);t instanceof Xe||(t=Dn(t));var e=ie(t.r),n=ie(t.g),r=ie(t.b),i=ee((.2225045*e+.7168786*n+.0606169*r)/Qe),s,a;return e===n&&n===r?s=a=i:(s=ee((.4360747*e+.3850649*n+.1430804*r)/je),a=ee((.0139322*e+.0971045*n+.7141733*r)/$e)),new ot(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?tn(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}Be(ot,nr,Ze(qe,{brighter(t){return new ot(this.l+Gt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Gt*(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=je*ne(e),t=Qe*ne(t),n=$e*ne(n),new Xe(re(3.1338561*e-1.6168667*t-.4906146*n),re(-.9787684*e+1.9161415*t+.033454*n),re(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ee(t){return t>er?Math.pow(t,1/3):t/Ke+Je}function ne(t){return t>wt?t*t*t:Ke*(t-Je)}function re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ie(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=tn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const _=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return _;let k;do _.push(k=new Date(+s)),e(s,y),t(s);while(kK(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(se.setTime(+s),ae.setTime(+a),t(se),t(ae),Math.floor(n(se,ae))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Dt=K(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Dt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?K(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Dt);Dt.range;const ft=1e3,rt=ft*60,ht=rt*60,dt=ht*24,pe=dt*7,Fe=dt*30,oe=dt*365,gt=K(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Et=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getMinutes());Et.range;const or=K(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getUTCMinutes());or.range;const At=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*rt)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());At.range;const cr=K(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());cr.range;const yt=K(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*rt)/dt,t=>t.getDate()-1);yt.range;const Te=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Te.range;const lr=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));lr.range;function Tt(t){return K(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())*rt)/pe)}const Ot=Tt(0),It=Tt(1),nn=Tt(2),rn=Tt(3),kt=Tt(4),sn=Tt(5),an=Tt(6);Ot.range;It.range;nn.range;rn.range;kt.range;sn.range;an.range;function vt(t){return K(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)/pe)}const on=vt(0),jt=vt(1),ur=vt(2),fr=vt(3),Mt=vt(4),hr=vt(5),dr=vt(6);on.range;jt.range;ur.range;fr.range;Mt.range;hr.range;dr.range;const Wt=K(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());Wt.range;const mr=K(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());mr.range;const mt=K(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:K(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 pt=K(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());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(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)});pt.range;function gr(t,e,n,r,i,s){const a=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[s,1,rt],[s,5,5*rt],[s,15,15*rt],[s,30,30*rt],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,pe],[e,1,Fe],[e,3,3*Fe],[t,1,oe]];function y(k,C,F){const w=CL).right(a,w);if(x===a.length)return t.every(Ue(k/oe,C/oe,F));if(x===0)return Dt.every(Math.max(Ue(k,C,F),1));const[q,g]=a[w/a[x-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(H=le(Yt(l.y,0,1)),j=H.getUTCDay(),H=j>4||j===0?jt.ceil(H):jt(H),H=Te.offset(H,(l.V-1)*7),l.y=H.getUTCFullYear(),l.m=H.getUTCMonth(),l.d=H.getUTCDate()+(l.w+6)%7):(H=ce(Yt(l.y,0,1)),j=H.getDay(),H=j>4||j===0?It.ceil(H):It(H),H=yt.offset(H,(l.V-1)*7),l.y=H.getFullYear(),l.m=H.getMonth(),l.d=H.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?le(Yt(l.y,0,1)).getUTCDay():ce(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,le(l)):ce(l)}}function T(p,E,M,l){for(var R=0,H=E.length,j=M.length,$,et;R=j)return-1;if($=E.charCodeAt(R++),$===37){if($=E.charAt(R++),et=Q[$ in Le?E.charAt(R++):$],!et||(l=et(p,M,l))<0)return-1}else if($!=M.charCodeAt(l++))return-1}return l}function Y(p,E,M){var l=k.exec(E.slice(M));return l?(p.p=C.get(l[0].toLowerCase()),M+l[0].length):-1}function D(p,E,M){var l=x.exec(E.slice(M));return l?(p.w=q.get(l[0].toLowerCase()),M+l[0].length):-1}function b(p,E,M){var l=F.exec(E.slice(M));return l?(p.w=w.get(l[0].toLowerCase()),M+l[0].length):-1}function o(p,E,M){var l=O.exec(E.slice(M));return l?(p.m=W.get(l[0].toLowerCase()),M+l[0].length):-1}function d(p,E,M){var l=g.exec(E.slice(M));return l?(p.m=L.get(l[0].toLowerCase()),M+l[0].length):-1}function m(p,E,M){return T(p,e,E,M)}function u(p,E,M){return T(p,n,E,M)}function S(p,E,M){return T(p,r,E,M)}function c(p){return a[p.getDay()]}function X(p){return s[p.getDay()]}function f(p){return _[p.getMonth()]}function h(p){return y[p.getMonth()]}function U(p){return i[+(p.getHours()>=12)]}function G(p){return 1+~~(p.getMonth()/3)}function z(p){return a[p.getUTCDay()]}function N(p){return s[p.getUTCDay()]}function I(p){return _[p.getUTCMonth()]}function V(p){return y[p.getUTCMonth()]}function st(p){return i[+(p.getUTCHours()>=12)]}function it(p){return 1+~~(p.getUTCMonth()/3)}return{format:function(p){var E=v(p+="",B);return E.toString=function(){return p},E},parse:function(p){var E=A(p+="",!1);return E.toString=function(){return p},E},utcFormat:function(p){var E=v(p+="",Z);return E.toString=function(){return p},E},utcParse:function(p){var E=A(p+="",!0);return E.toString=function(){return p},E}}}var Le={"-":"",_:" ",0:"0"},tt=/^\s*\d+/,Tr=/^%/,vr=/[\\^$*+?|[\]().{}]/g;function P(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function xr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function wr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Mr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ee(t,e,n){var r=tt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ae(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Sr(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 _r(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ur(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ie(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function We(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=tt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ir(t,e,n){var r=Tr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Wr(t,e,n){var r=tt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=tt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Oe(t,e){return P(t.getDate(),e,2)}function zr(t,e){return P(t.getHours(),e,2)}function Hr(t,e){return P(t.getHours()%12||12,e,2)}function Nr(t,e){return P(1+yt.count(mt(t),t),e,3)}function cn(t,e){return P(t.getMilliseconds(),e,3)}function Vr(t,e){return cn(t,e)+"000"}function Pr(t,e){return P(t.getMonth()+1,e,2)}function Rr(t,e){return P(t.getMinutes(),e,2)}function Br(t,e){return P(t.getSeconds(),e,2)}function Zr(t){var e=t.getDay();return e===0?7:e}function Xr(t,e){return P(Ot.count(mt(t)-1,t),e,2)}function ln(t){var e=t.getDay();return e>=4||e===0?kt(t):kt.ceil(t)}function qr(t,e){return t=ln(t),P(kt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Gr(t){return t.getDay()}function jr(t,e){return P(It.count(mt(t)-1,t),e,2)}function Qr(t,e){return P(t.getFullYear()%100,e,2)}function $r(t,e){return t=ln(t),P(t.getFullYear()%100,e,2)}function Jr(t,e){return P(t.getFullYear()%1e4,e,4)}function Kr(t,e){var n=t.getDay();return t=n>=4||n===0?kt(t):kt.ceil(t),P(t.getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+P(e/60|0,"0",2)+P(e%60,"0",2)}function ze(t,e){return P(t.getUTCDate(),e,2)}function ei(t,e){return P(t.getUTCHours(),e,2)}function ni(t,e){return P(t.getUTCHours()%12||12,e,2)}function ri(t,e){return P(1+Te.count(pt(t),t),e,3)}function un(t,e){return P(t.getUTCMilliseconds(),e,3)}function ii(t,e){return un(t,e)+"000"}function si(t,e){return P(t.getUTCMonth()+1,e,2)}function ai(t,e){return P(t.getUTCMinutes(),e,2)}function oi(t,e){return P(t.getUTCSeconds(),e,2)}function ci(t){var e=t.getUTCDay();return e===0?7:e}function li(t,e){return P(on.count(pt(t)-1,t),e,2)}function fn(t){var e=t.getUTCDay();return e>=4||e===0?Mt(t):Mt.ceil(t)}function ui(t,e){return t=fn(t),P(Mt.count(pt(t),t)+(pt(t).getUTCDay()===4),e,2)}function fi(t){return t.getUTCDay()}function hi(t,e){return P(jt.count(pt(t)-1,t),e,2)}function di(t,e){return P(t.getUTCFullYear()%100,e,2)}function mi(t,e){return t=fn(t),P(t.getUTCFullYear()%100,e,2)}function gi(t,e){return P(t.getUTCFullYear()%1e4,e,4)}function yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Mt(t):Mt.ceil(t),P(t.getUTCFullYear()%1e4,e,4)}function ki(){return"+0000"}function He(){return"%"}function Ne(t){return+t}function Ve(t){return Math.floor(+t/1e3)}var bt,Qt;pi({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 pi(t){return bt=pr(t),Qt=bt.format,bt.parse,bt.utcFormat,bt.utcParse,bt}function Ti(t){return new Date(t)}function vi(t){return t instanceof Date?+t:+new Date(+t)}function hn(t,e,n,r,i,s,a,y,_,k){var C=Hn(),F=C.invert,w=C.domain,x=k(".%L"),q=k(":%S"),g=k("%I:%M"),L=k("%I %p"),O=k("%a %d"),W=k("%b %d"),B=k("%B"),Z=k("%Y");function Q(v){return(_(v)4&&(x+=7),w.add(x,n));return q.diff(g,"week")+1},y.isoWeekday=function(k){return this.$utils().u(k)?this.day()||7:this.day(this.day()%7?k:k-7)};var _=y.startOf;y.startOf=function(k,C){var F=this.$utils(),w=!!F.u(C)||C;return F.p(k)==="isoweek"?w?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(k,C)}}})})(dn);var xi=dn.exports;const wi=ke(xi);var mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,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/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,y={},_=function(g){return(g=+g)+(g>68?1900:2e3)},k=function(g){return function(L){this[g]=+L}},C=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(L){if(!L||L==="Z")return 0;var O=L.match(/([+-]|\d\d)/g),W=60*O[1]+(+O[2]||0);return W===0?0:O[0]==="+"?-W:W}(g)}],F=function(g){var L=y[g];return L&&(L.indexOf?L:L.s.concat(L.f))},w=function(g,L){var O,W=y.meridiem;if(W){for(var B=1;B<=24;B+=1)if(g.indexOf(W(B,0,L))>-1){O=B>12;break}}else O=g===(L?"pm":"PM");return O},x={A:[a,function(g){this.afternoon=w(g,!1)}],a:[a,function(g){this.afternoon=w(g,!0)}],S:[/\d/,function(g){this.milliseconds=100*+g}],SS:[i,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[s,k("seconds")],ss:[s,k("seconds")],m:[s,k("minutes")],mm:[s,k("minutes")],H:[s,k("hours")],h:[s,k("hours")],HH:[s,k("hours")],hh:[s,k("hours")],D:[s,k("day")],DD:[i,k("day")],Do:[a,function(g){var L=y.ordinal,O=g.match(/\d+/);if(this.day=O[0],L)for(var W=1;W<=31;W+=1)L(W).replace(/\[|\]/g,"")===g&&(this.day=W)}],M:[s,k("month")],MM:[i,k("month")],MMM:[a,function(g){var L=F("months"),O=(F("monthsShort")||L.map(function(W){return W.slice(0,3)})).indexOf(g)+1;if(O<1)throw new Error;this.month=O%12||O}],MMMM:[a,function(g){var L=F("months").indexOf(g)+1;if(L<1)throw new Error;this.month=L%12||L}],Y:[/[+-]?\d+/,k("year")],YY:[i,function(g){this.year=_(g)}],YYYY:[/\d{4}/,k("year")],Z:C,ZZ:C};function q(g){var L,O;L=g,O=y&&y.formats;for(var W=(g=L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Y,D,b){var o=b&&b.toUpperCase();return D||O[b]||n[b]||O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(d,m,u){return m||u.slice(1)})})).match(r),B=W.length,Z=0;Z-1)return new Date((c==="X"?1e3:1)*S);var f=q(c)(S),h=f.year,U=f.month,G=f.day,z=f.hours,N=f.minutes,I=f.seconds,V=f.milliseconds,st=f.zone,it=new Date,p=G||(h||U?1:it.getDate()),E=h||it.getFullYear(),M=0;h&&!U||(M=U>0?U-1:it.getMonth());var l=z||0,R=N||0,H=I||0,j=V||0;return st?new Date(Date.UTC(E,M,p,l,R,H,j+60*st.offset*1e3)):X?new Date(Date.UTC(E,M,p,l,R,H,j)):new Date(E,M,p,l,R,H,j)}catch{return new Date("")}}(Q,T,v),this.init(),o&&o!==!0&&(this.$L=this.locale(o).$L),b&&Q!=this.format(T)&&(this.$d=new Date("")),y={}}else if(T instanceof Array)for(var d=T.length,m=1;m<=d;m+=1){A[1]=T[m-1];var u=O.apply(this,A);if(u.isValid()){this.$d=u.$d,this.$L=u.$L,this.init();break}m===d&&(this.$d=new Date(""))}else B.call(this,Z)}}})})(mn);var Ci=mn.exports;const Di=ke(Ci);var gn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,_=this.$locale();if(!this.isValid())return s.bind(this)(a);var k=this.$utils(),C=(a||"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(F){switch(F){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return _.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return _.ordinal(y.week(),"W");case"w":case"ww":return k.s(y.week(),F==="w"?1:2,"0");case"W":case"WW":return k.s(y.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return k.s(String(y.$H===0?24:y.$H),F==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return F}});return s.bind(this)(C)}}})})(gn);var Mi=gn.exports;const Si=ke(Mi);var he=function(){var t=function(b,o,d,m){for(d=d||{},m=b.length;m--;d[b[m]]=o);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],s=[1,28],a=[1,29],y=[1,30],_=[1,31],k=[1,9],C=[1,10],F=[1,11],w=[1,12],x=[1,13],q=[1,14],g=[1,15],L=[1,16],O=[1,18],W=[1,19],B=[1,20],Z=[1,21],Q=[1,22],v=[1,24],A=[1,32],T={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(o,d,m,u,S,c,X){var f=c.length-1;switch(S){case 1:return c[f-1];case 2:this.$=[];break;case 3:c[f-1].push(c[f]),this.$=c[f-1];break;case 4:case 5:this.$=c[f];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=c[f].substr(18);break;case 17:u.TopAxis(),this.$=c[f].substr(8);break;case 18:u.setAxisFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 19:u.setTickInterval(c[f].substr(13)),this.$=c[f].substr(13);break;case 20:u.setExcludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 21:u.setIncludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 22:u.setTodayMarker(c[f].substr(12)),this.$=c[f].substr(12);break;case 24:u.setDiagramTitle(c[f].substr(6)),this.$=c[f].substr(6);break;case 25:this.$=c[f].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=c[f].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(c[f].substr(8)),this.$=c[f].substr(8);break;case 30:u.addTask(c[f-1],c[f]),this.$="task";break;case 31:this.$=c[f-1],u.setClickEvent(c[f-1],c[f],null);break;case 32:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],c[f]);break;case 33:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],null),u.setLink(c[f-2],c[f]);break;case 34:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-2],c[f-1]),u.setLink(c[f-3],c[f]);break;case 35:this.$=c[f-2],u.setClickEvent(c[f-2],c[f],null),u.setLink(c[f-2],c[f-1]);break;case 36:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-1],c[f]),u.setLink(c[f-3],c[f-2]);break;case 37:this.$=c[f-1],u.setLink(c[f-1],c[f]);break;case 38:case 44:this.$=c[f-1]+" "+c[f];break;case 39:case 40:case 42:this.$=c[f-2]+" "+c[f-1]+" "+c[f];break;case 41:case 43:this.$=c[f-3]+" "+c[f-2]+" "+c[f-1]+" "+c[f];break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:_,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:_,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(o,d){if(d.recoverable)this.trace(o);else{var m=new Error(o);throw m.hash=d,m}},parse:function(o){var d=this,m=[0],u=[],S=[null],c=[],X=this.table,f="",h=0,U=0,G=2,z=1,N=c.slice.call(arguments,1),I=Object.create(this.lexer),V={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(V.yy[st]=this.yy[st]);I.setInput(o,V.yy),V.yy.lexer=I,V.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var it=I.yylloc;c.push(it);var p=I.options&&I.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var ct;return ct=u.pop()||I.lex()||z,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,R,H,j={},$,et,Ut,Vt;;){if(l=m[m.length-1],this.defaultActions[l]?R=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=E()),R=X[l]&&X[l][M]),typeof R>"u"||!R.length||!R[0]){var Jt="";Vt=[];for($ in X[l])this.terminals_[$]&&$>G&&Vt.push("'"+this.terminals_[$]+"'");I.showPosition?Jt="Parse error on line "+(h+1)+`: +import{av as Be,aw as Ze,ax as Xe,ay as qe,az as Dn,aA as Kt,aB as Mn,aC as nt,c as xt,s as Sn,g as _n,x as Un,y as Yn,b as Fn,a as Ln,A as En,n as An,l as qt,h as Pt,i as In,j as Wn,z as On}from"./mermaid-934d9bea.1859dh9d.js";import{c as ye,g as ke}from"./_commonjsHelpers.5-cIlDoe.js";import{b as zn,t as Ue,c as Hn,a as Nn,l as Vn}from"./linear.4Z5a_r3t.js";import{i as Pn}from"./init.Hi12RPRh.js";import"./entry.DMNM28aL.js";function Rn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=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 Bn(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 Zn(t){return t}var Bt=1,te=2,ue=3,Rt=4,Ye=1e-6;function Xn(t){return"translate("+t+",0)"}function qn(t){return"translate(0,"+t+")"}function Gn(t){return e=>+t(e)}function jn(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Qn(){return!this.__axis}function Ge(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,k=t===Bt||t===Rt?-1:1,C=t===Rt||t===te?"x":"y",F=t===Bt||t===ue?Xn:qn;function w(x){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=i??(e.tickFormat?e.tickFormat.apply(e,n):Zn),L=Math.max(s,0)+y,O=e.range(),W=+O[0]+_,B=+O[O.length-1]+_,Z=(e.bandwidth?jn:Gn)(e.copy(),_),Q=x.selection?x.selection():x,v=Q.selectAll(".domain").data([null]),A=Q.selectAll(".tick").data(q,e).order(),T=A.exit(),Y=A.enter().append("g").attr("class","tick"),D=A.select("line"),b=A.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(Y),D=D.merge(Y.append("line").attr("stroke","currentColor").attr(C+"2",k*s)),b=b.merge(Y.append("text").attr("fill","currentColor").attr(C,k*L).attr("dy",t===Bt?"0em":t===ue?"0.71em":"0.32em")),x!==Q&&(v=v.transition(x),A=A.transition(x),D=D.transition(x),b=b.transition(x),T=T.transition(x).attr("opacity",Ye).attr("transform",function(o){return isFinite(o=Z(o))?F(o+_):this.getAttribute("transform")}),Y.attr("opacity",Ye).attr("transform",function(o){var d=this.parentNode.__axis;return F((d&&isFinite(d=d(o))?d:Z(o))+_)})),T.remove(),v.attr("d",t===Rt||t===te?a?"M"+k*a+","+W+"H"+_+"V"+B+"H"+k*a:"M"+_+","+W+"V"+B:a?"M"+W+","+k*a+"V"+_+"H"+B+"V"+k*a:"M"+W+","+_+"H"+B),A.attr("opacity",1).attr("transform",function(o){return F(Z(o)+_)}),D.attr(C+"2",k*s),b.attr(C,k*L).text(g),Q.filter(Qn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===te?"start":t===Rt?"end":"middle"),Q.each(function(){this.__axis=Z})}return w.scale=function(x){return arguments.length?(e=x,w):e},w.ticks=function(){return n=Array.from(arguments),w},w.tickArguments=function(x){return arguments.length?(n=x==null?[]:Array.from(x),w):n.slice()},w.tickValues=function(x){return arguments.length?(r=x==null?null:Array.from(x),w):r&&r.slice()},w.tickFormat=function(x){return arguments.length?(i=x,w):i},w.tickSize=function(x){return arguments.length?(s=a=+x,w):s},w.tickSizeInner=function(x){return arguments.length?(s=+x,w):s},w.tickSizeOuter=function(x){return arguments.length?(a=+x,w):a},w.tickPadding=function(x){return arguments.length?(y=+x,w):y},w.offset=function(x){return arguments.length?(_=+x,w):_},w}function $n(t){return Ge(Bt,t)}function Jn(t){return Ge(ue,t)}const Kn=Math.PI/180,tr=180/Math.PI,Gt=18,je=.96422,Qe=1,$e=.82521,Je=4/29,wt=6/29,Ke=3*wt*wt,er=wt*wt*wt;function tn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return en(t);t instanceof Xe||(t=Dn(t));var e=ie(t.r),n=ie(t.g),r=ie(t.b),i=ee((.2225045*e+.7168786*n+.0606169*r)/Qe),s,a;return e===n&&n===r?s=a=i:(s=ee((.4360747*e+.3850649*n+.1430804*r)/je),a=ee((.0139322*e+.0971045*n+.7141733*r)/$e)),new ot(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?tn(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}Be(ot,nr,Ze(qe,{brighter(t){return new ot(this.l+Gt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Gt*(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=je*ne(e),t=Qe*ne(t),n=$e*ne(n),new Xe(re(3.1338561*e-1.6168667*t-.4906146*n),re(-.9787684*e+1.9161415*t+.033454*n),re(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ee(t){return t>er?Math.pow(t,1/3):t/Ke+Je}function ne(t){return t>wt?t*t*t:Ke*(t-Je)}function re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ie(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=tn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const _=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return _;let k;do _.push(k=new Date(+s)),e(s,y),t(s);while(kK(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(se.setTime(+s),ae.setTime(+a),t(se),t(ae),Math.floor(n(se,ae))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Dt=K(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Dt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?K(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Dt);Dt.range;const ft=1e3,rt=ft*60,ht=rt*60,dt=ht*24,pe=dt*7,Fe=dt*30,oe=dt*365,gt=K(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Et=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getMinutes());Et.range;const or=K(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getUTCMinutes());or.range;const At=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*rt)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());At.range;const cr=K(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());cr.range;const yt=K(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*rt)/dt,t=>t.getDate()-1);yt.range;const Te=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Te.range;const lr=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));lr.range;function Tt(t){return K(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())*rt)/pe)}const Ot=Tt(0),It=Tt(1),nn=Tt(2),rn=Tt(3),kt=Tt(4),sn=Tt(5),an=Tt(6);Ot.range;It.range;nn.range;rn.range;kt.range;sn.range;an.range;function vt(t){return K(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)/pe)}const on=vt(0),jt=vt(1),ur=vt(2),fr=vt(3),Mt=vt(4),hr=vt(5),dr=vt(6);on.range;jt.range;ur.range;fr.range;Mt.range;hr.range;dr.range;const Wt=K(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());Wt.range;const mr=K(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());mr.range;const mt=K(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:K(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 pt=K(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());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(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)});pt.range;function gr(t,e,n,r,i,s){const a=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[s,1,rt],[s,5,5*rt],[s,15,15*rt],[s,30,30*rt],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,pe],[e,1,Fe],[e,3,3*Fe],[t,1,oe]];function y(k,C,F){const w=CL).right(a,w);if(x===a.length)return t.every(Ue(k/oe,C/oe,F));if(x===0)return Dt.every(Math.max(Ue(k,C,F),1));const[q,g]=a[w/a[x-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(H=le(Yt(l.y,0,1)),j=H.getUTCDay(),H=j>4||j===0?jt.ceil(H):jt(H),H=Te.offset(H,(l.V-1)*7),l.y=H.getUTCFullYear(),l.m=H.getUTCMonth(),l.d=H.getUTCDate()+(l.w+6)%7):(H=ce(Yt(l.y,0,1)),j=H.getDay(),H=j>4||j===0?It.ceil(H):It(H),H=yt.offset(H,(l.V-1)*7),l.y=H.getFullYear(),l.m=H.getMonth(),l.d=H.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?le(Yt(l.y,0,1)).getUTCDay():ce(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,le(l)):ce(l)}}function T(p,E,M,l){for(var R=0,H=E.length,j=M.length,$,et;R=j)return-1;if($=E.charCodeAt(R++),$===37){if($=E.charAt(R++),et=Q[$ in Le?E.charAt(R++):$],!et||(l=et(p,M,l))<0)return-1}else if($!=M.charCodeAt(l++))return-1}return l}function Y(p,E,M){var l=k.exec(E.slice(M));return l?(p.p=C.get(l[0].toLowerCase()),M+l[0].length):-1}function D(p,E,M){var l=x.exec(E.slice(M));return l?(p.w=q.get(l[0].toLowerCase()),M+l[0].length):-1}function b(p,E,M){var l=F.exec(E.slice(M));return l?(p.w=w.get(l[0].toLowerCase()),M+l[0].length):-1}function o(p,E,M){var l=O.exec(E.slice(M));return l?(p.m=W.get(l[0].toLowerCase()),M+l[0].length):-1}function d(p,E,M){var l=g.exec(E.slice(M));return l?(p.m=L.get(l[0].toLowerCase()),M+l[0].length):-1}function m(p,E,M){return T(p,e,E,M)}function u(p,E,M){return T(p,n,E,M)}function S(p,E,M){return T(p,r,E,M)}function c(p){return a[p.getDay()]}function X(p){return s[p.getDay()]}function f(p){return _[p.getMonth()]}function h(p){return y[p.getMonth()]}function U(p){return i[+(p.getHours()>=12)]}function G(p){return 1+~~(p.getMonth()/3)}function z(p){return a[p.getUTCDay()]}function N(p){return s[p.getUTCDay()]}function I(p){return _[p.getUTCMonth()]}function V(p){return y[p.getUTCMonth()]}function st(p){return i[+(p.getUTCHours()>=12)]}function it(p){return 1+~~(p.getUTCMonth()/3)}return{format:function(p){var E=v(p+="",B);return E.toString=function(){return p},E},parse:function(p){var E=A(p+="",!1);return E.toString=function(){return p},E},utcFormat:function(p){var E=v(p+="",Z);return E.toString=function(){return p},E},utcParse:function(p){var E=A(p+="",!0);return E.toString=function(){return p},E}}}var Le={"-":"",_:" ",0:"0"},tt=/^\s*\d+/,Tr=/^%/,vr=/[\\^$*+?|[\]().{}]/g;function P(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function xr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function wr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Mr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ee(t,e,n){var r=tt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ae(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Sr(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 _r(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ur(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ie(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function We(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=tt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ir(t,e,n){var r=Tr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Wr(t,e,n){var r=tt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=tt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Oe(t,e){return P(t.getDate(),e,2)}function zr(t,e){return P(t.getHours(),e,2)}function Hr(t,e){return P(t.getHours()%12||12,e,2)}function Nr(t,e){return P(1+yt.count(mt(t),t),e,3)}function cn(t,e){return P(t.getMilliseconds(),e,3)}function Vr(t,e){return cn(t,e)+"000"}function Pr(t,e){return P(t.getMonth()+1,e,2)}function Rr(t,e){return P(t.getMinutes(),e,2)}function Br(t,e){return P(t.getSeconds(),e,2)}function Zr(t){var e=t.getDay();return e===0?7:e}function Xr(t,e){return P(Ot.count(mt(t)-1,t),e,2)}function ln(t){var e=t.getDay();return e>=4||e===0?kt(t):kt.ceil(t)}function qr(t,e){return t=ln(t),P(kt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Gr(t){return t.getDay()}function jr(t,e){return P(It.count(mt(t)-1,t),e,2)}function Qr(t,e){return P(t.getFullYear()%100,e,2)}function $r(t,e){return t=ln(t),P(t.getFullYear()%100,e,2)}function Jr(t,e){return P(t.getFullYear()%1e4,e,4)}function Kr(t,e){var n=t.getDay();return t=n>=4||n===0?kt(t):kt.ceil(t),P(t.getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+P(e/60|0,"0",2)+P(e%60,"0",2)}function ze(t,e){return P(t.getUTCDate(),e,2)}function ei(t,e){return P(t.getUTCHours(),e,2)}function ni(t,e){return P(t.getUTCHours()%12||12,e,2)}function ri(t,e){return P(1+Te.count(pt(t),t),e,3)}function un(t,e){return P(t.getUTCMilliseconds(),e,3)}function ii(t,e){return un(t,e)+"000"}function si(t,e){return P(t.getUTCMonth()+1,e,2)}function ai(t,e){return P(t.getUTCMinutes(),e,2)}function oi(t,e){return P(t.getUTCSeconds(),e,2)}function ci(t){var e=t.getUTCDay();return e===0?7:e}function li(t,e){return P(on.count(pt(t)-1,t),e,2)}function fn(t){var e=t.getUTCDay();return e>=4||e===0?Mt(t):Mt.ceil(t)}function ui(t,e){return t=fn(t),P(Mt.count(pt(t),t)+(pt(t).getUTCDay()===4),e,2)}function fi(t){return t.getUTCDay()}function hi(t,e){return P(jt.count(pt(t)-1,t),e,2)}function di(t,e){return P(t.getUTCFullYear()%100,e,2)}function mi(t,e){return t=fn(t),P(t.getUTCFullYear()%100,e,2)}function gi(t,e){return P(t.getUTCFullYear()%1e4,e,4)}function yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Mt(t):Mt.ceil(t),P(t.getUTCFullYear()%1e4,e,4)}function ki(){return"+0000"}function He(){return"%"}function Ne(t){return+t}function Ve(t){return Math.floor(+t/1e3)}var bt,Qt;pi({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 pi(t){return bt=pr(t),Qt=bt.format,bt.parse,bt.utcFormat,bt.utcParse,bt}function Ti(t){return new Date(t)}function vi(t){return t instanceof Date?+t:+new Date(+t)}function hn(t,e,n,r,i,s,a,y,_,k){var C=Hn(),F=C.invert,w=C.domain,x=k(".%L"),q=k(":%S"),g=k("%I:%M"),L=k("%I %p"),O=k("%a %d"),W=k("%b %d"),B=k("%B"),Z=k("%Y");function Q(v){return(_(v)4&&(x+=7),w.add(x,n));return q.diff(g,"week")+1},y.isoWeekday=function(k){return this.$utils().u(k)?this.day()||7:this.day(this.day()%7?k:k-7)};var _=y.startOf;y.startOf=function(k,C){var F=this.$utils(),w=!!F.u(C)||C;return F.p(k)==="isoweek"?w?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(k,C)}}})})(dn);var xi=dn.exports;const wi=ke(xi);var mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,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/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,y={},_=function(g){return(g=+g)+(g>68?1900:2e3)},k=function(g){return function(L){this[g]=+L}},C=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(L){if(!L||L==="Z")return 0;var O=L.match(/([+-]|\d\d)/g),W=60*O[1]+(+O[2]||0);return W===0?0:O[0]==="+"?-W:W}(g)}],F=function(g){var L=y[g];return L&&(L.indexOf?L:L.s.concat(L.f))},w=function(g,L){var O,W=y.meridiem;if(W){for(var B=1;B<=24;B+=1)if(g.indexOf(W(B,0,L))>-1){O=B>12;break}}else O=g===(L?"pm":"PM");return O},x={A:[a,function(g){this.afternoon=w(g,!1)}],a:[a,function(g){this.afternoon=w(g,!0)}],S:[/\d/,function(g){this.milliseconds=100*+g}],SS:[i,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[s,k("seconds")],ss:[s,k("seconds")],m:[s,k("minutes")],mm:[s,k("minutes")],H:[s,k("hours")],h:[s,k("hours")],HH:[s,k("hours")],hh:[s,k("hours")],D:[s,k("day")],DD:[i,k("day")],Do:[a,function(g){var L=y.ordinal,O=g.match(/\d+/);if(this.day=O[0],L)for(var W=1;W<=31;W+=1)L(W).replace(/\[|\]/g,"")===g&&(this.day=W)}],M:[s,k("month")],MM:[i,k("month")],MMM:[a,function(g){var L=F("months"),O=(F("monthsShort")||L.map(function(W){return W.slice(0,3)})).indexOf(g)+1;if(O<1)throw new Error;this.month=O%12||O}],MMMM:[a,function(g){var L=F("months").indexOf(g)+1;if(L<1)throw new Error;this.month=L%12||L}],Y:[/[+-]?\d+/,k("year")],YY:[i,function(g){this.year=_(g)}],YYYY:[/\d{4}/,k("year")],Z:C,ZZ:C};function q(g){var L,O;L=g,O=y&&y.formats;for(var W=(g=L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Y,D,b){var o=b&&b.toUpperCase();return D||O[b]||n[b]||O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(d,m,u){return m||u.slice(1)})})).match(r),B=W.length,Z=0;Z-1)return new Date((c==="X"?1e3:1)*S);var f=q(c)(S),h=f.year,U=f.month,G=f.day,z=f.hours,N=f.minutes,I=f.seconds,V=f.milliseconds,st=f.zone,it=new Date,p=G||(h||U?1:it.getDate()),E=h||it.getFullYear(),M=0;h&&!U||(M=U>0?U-1:it.getMonth());var l=z||0,R=N||0,H=I||0,j=V||0;return st?new Date(Date.UTC(E,M,p,l,R,H,j+60*st.offset*1e3)):X?new Date(Date.UTC(E,M,p,l,R,H,j)):new Date(E,M,p,l,R,H,j)}catch{return new Date("")}}(Q,T,v),this.init(),o&&o!==!0&&(this.$L=this.locale(o).$L),b&&Q!=this.format(T)&&(this.$d=new Date("")),y={}}else if(T instanceof Array)for(var d=T.length,m=1;m<=d;m+=1){A[1]=T[m-1];var u=O.apply(this,A);if(u.isValid()){this.$d=u.$d,this.$L=u.$L,this.init();break}m===d&&(this.$d=new Date(""))}else B.call(this,Z)}}})})(mn);var Ci=mn.exports;const Di=ke(Ci);var gn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,_=this.$locale();if(!this.isValid())return s.bind(this)(a);var k=this.$utils(),C=(a||"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(F){switch(F){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return _.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return _.ordinal(y.week(),"W");case"w":case"ww":return k.s(y.week(),F==="w"?1:2,"0");case"W":case"WW":return k.s(y.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return k.s(String(y.$H===0?24:y.$H),F==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return F}});return s.bind(this)(C)}}})})(gn);var Mi=gn.exports;const Si=ke(Mi);var he=function(){var t=function(b,o,d,m){for(d=d||{},m=b.length;m--;d[b[m]]=o);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],s=[1,28],a=[1,29],y=[1,30],_=[1,31],k=[1,9],C=[1,10],F=[1,11],w=[1,12],x=[1,13],q=[1,14],g=[1,15],L=[1,16],O=[1,18],W=[1,19],B=[1,20],Z=[1,21],Q=[1,22],v=[1,24],A=[1,32],T={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(o,d,m,u,S,c,X){var f=c.length-1;switch(S){case 1:return c[f-1];case 2:this.$=[];break;case 3:c[f-1].push(c[f]),this.$=c[f-1];break;case 4:case 5:this.$=c[f];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=c[f].substr(18);break;case 17:u.TopAxis(),this.$=c[f].substr(8);break;case 18:u.setAxisFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 19:u.setTickInterval(c[f].substr(13)),this.$=c[f].substr(13);break;case 20:u.setExcludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 21:u.setIncludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 22:u.setTodayMarker(c[f].substr(12)),this.$=c[f].substr(12);break;case 24:u.setDiagramTitle(c[f].substr(6)),this.$=c[f].substr(6);break;case 25:this.$=c[f].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=c[f].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(c[f].substr(8)),this.$=c[f].substr(8);break;case 30:u.addTask(c[f-1],c[f]),this.$="task";break;case 31:this.$=c[f-1],u.setClickEvent(c[f-1],c[f],null);break;case 32:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],c[f]);break;case 33:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],null),u.setLink(c[f-2],c[f]);break;case 34:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-2],c[f-1]),u.setLink(c[f-3],c[f]);break;case 35:this.$=c[f-2],u.setClickEvent(c[f-2],c[f],null),u.setLink(c[f-2],c[f-1]);break;case 36:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-1],c[f]),u.setLink(c[f-3],c[f-2]);break;case 37:this.$=c[f-1],u.setLink(c[f-1],c[f]);break;case 38:case 44:this.$=c[f-1]+" "+c[f];break;case 39:case 40:case 42:this.$=c[f-2]+" "+c[f-1]+" "+c[f];break;case 41:case 43:this.$=c[f-3]+" "+c[f-2]+" "+c[f-1]+" "+c[f];break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:_,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:_,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(o,d){if(d.recoverable)this.trace(o);else{var m=new Error(o);throw m.hash=d,m}},parse:function(o){var d=this,m=[0],u=[],S=[null],c=[],X=this.table,f="",h=0,U=0,G=2,z=1,N=c.slice.call(arguments,1),I=Object.create(this.lexer),V={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(V.yy[st]=this.yy[st]);I.setInput(o,V.yy),V.yy.lexer=I,V.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var it=I.yylloc;c.push(it);var p=I.options&&I.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var ct;return ct=u.pop()||I.lex()||z,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,R,H,j={},$,et,Ut,Vt;;){if(l=m[m.length-1],this.defaultActions[l]?R=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=E()),R=X[l]&&X[l][M]),typeof R>"u"||!R.length||!R[0]){var Jt="";Vt=[];for($ in X[l])this.terminals_[$]&&$>G&&Vt.push("'"+this.terminals_[$]+"'");I.showPosition?Jt="Parse error on line "+(h+1)+`: `+I.showPosition()+` Expecting `+Vt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Jt="Parse error on line "+(h+1)+": Unexpected "+(M==z?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Jt,{text:I.match,token:this.terminals_[M]||M,line:I.yylineno,loc:it,expected:Vt})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+l+", token: "+M);switch(R[0]){case 1:m.push(M),S.push(I.yytext),c.push(I.yylloc),m.push(R[1]),M=null,U=I.yyleng,f=I.yytext,h=I.yylineno,it=I.yylloc;break;case 2:if(et=this.productions_[R[1]][1],j.$=S[S.length-et],j._$={first_line:c[c.length-(et||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(et||1)].first_column,last_column:c[c.length-1].last_column},p&&(j._$.range=[c[c.length-(et||1)].range[0],c[c.length-1].range[1]]),H=this.performAction.apply(j,[f,U,h,V.yy,R[1],S,c].concat(N)),typeof H<"u")return H;et&&(m=m.slice(0,-1*et*2),S=S.slice(0,-1*et),c=c.slice(0,-1*et)),m.push(this.productions_[R[1]][0]),S.push(j.$),c.push(j._$),Ut=X[m[m.length-2]][m[m.length-1]],m.push(Ut);break;case 3:return!0}}return!0}},Y=function(){var b={EOF:1,parseError:function(d,m){if(this.yy.parser)this.yy.parser.parseError(d,m);else throw new Error(d)},setInput:function(o,d){return this.yy=d||this.yy||{},this._input=o,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 o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var d=o.length,m=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;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),m.length-1&&(this.yylineno-=m.length-1);var S=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===u.length?this.yylloc.first_column:0)+u[u.length-m.length].length-m[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-d]),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(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/_nuxt/gitGraphDiagram-6b463803.rnjGXCwl.js b/_nuxt/gitGraphDiagram-6b463803.FEPj0aII.js similarity index 99% rename from _nuxt/gitGraphDiagram-6b463803.rnjGXCwl.js rename to _nuxt/gitGraphDiagram-6b463803.FEPj0aII.js index 4c294eca5c..b368fa9140 100644 --- a/_nuxt/gitGraphDiagram-6b463803.rnjGXCwl.js +++ b/_nuxt/gitGraphDiagram-6b463803.FEPj0aII.js @@ -1,4 +1,4 @@ -import{c as A,s as vt,g as Ct,a as At,b as Ot,x as St,y as It,l as G,j as D,A as Gt,h as Pt,z as Nt,at as Ht,au as Bt}from"./mermaid-934d9bea.A2NtSsGH.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";var mt=function(){var r=function(q,h,b,k){for(b=b||{},k=q.length;k--;b[q[k]]=h);return b},a=[1,3],o=[1,6],u=[1,4],n=[1,5],c=[2,5],m=[1,12],l=[5,7,13,19,21,23,24,26,28,31,36,39,46],E=[7,13,19,21,23,24,26,28,31,36,39],_=[7,12,13,19,21,23,24,26,28,31,36,39],i=[7,13,46],g=[1,42],p=[1,41],x=[7,13,29,32,34,37,46],f=[1,55],d=[1,56],y=[1,57],H=[7,13,32,34,41,46],w={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,COMMIT_TAG:34,EMPTYSTR:35,MERGE:36,COMMIT_TYPE:37,commitType:38,COMMIT:39,commit_arg:40,COMMIT_MSG:41,NORMAL:42,REVERSE:43,HIGHLIGHT:44,ID:45,";":46,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"COMMIT_TAG",35:"EMPTYSTR",36:"MERGE",37:"COMMIT_TYPE",39:"COMMIT",41:"COMMIT_MSG",42:"NORMAL",43:"REVERSE",44:"HIGHLIGHT",45:"ID",46:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,5],[18,5],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[40,0],[40,1],[38,1],[38,1],[38,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(h,b,k,s,T,t,X){var e=t.length-1;switch(T){case 2:return t[e];case 3:return t[e-1];case 4:return s.setDirection(t[e-3]),t[e-1];case 6:s.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),s.setAccDescription(this.$);break;case 19:s.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:s.checkout(t[e]);break;case 22:s.branch(t[e]);break;case 23:s.branch(t[e-2],t[e]);break;case 24:s.cherryPick(t[e],"",void 0);break;case 25:s.cherryPick(t[e-2],"",t[e]);break;case 26:case 28:s.cherryPick(t[e-2],"","");break;case 27:s.cherryPick(t[e],"",t[e-2]);break;case 29:s.merge(t[e],"","","");break;case 30:s.merge(t[e-2],t[e],"","");break;case 31:s.merge(t[e-2],"",t[e],"");break;case 32:s.merge(t[e-2],"","",t[e]);break;case 33:s.merge(t[e-4],t[e],"",t[e-2]);break;case 34:s.merge(t[e-4],"",t[e],t[e-2]);break;case 35:s.merge(t[e-4],"",t[e-2],t[e]);break;case 36:s.merge(t[e-4],t[e-2],t[e],"");break;case 37:s.merge(t[e-4],t[e-2],"",t[e]);break;case 38:s.merge(t[e-4],t[e],t[e-2],"");break;case 39:s.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 40:s.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 41:s.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 42:s.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 43:s.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 44:s.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 45:s.commit(t[e]);break;case 46:s.commit("","",s.commitType.NORMAL,t[e]);break;case 47:s.commit("","",t[e],"");break;case 48:s.commit("","",t[e],t[e-2]);break;case 49:s.commit("","",t[e-2],t[e]);break;case 50:s.commit("",t[e],s.commitType.NORMAL,"");break;case 51:s.commit("",t[e-2],s.commitType.NORMAL,t[e]);break;case 52:s.commit("",t[e],s.commitType.NORMAL,t[e-2]);break;case 53:s.commit("",t[e-2],t[e],"");break;case 54:s.commit("",t[e],t[e-2],"");break;case 55:s.commit("",t[e-4],t[e-2],t[e]);break;case 56:s.commit("",t[e-4],t[e],t[e-2]);break;case 57:s.commit("",t[e-2],t[e-4],t[e]);break;case 58:s.commit("",t[e],t[e-4],t[e-2]);break;case 59:s.commit("",t[e],t[e-2],t[e-4]);break;case 60:s.commit("",t[e-2],t[e],t[e-4]);break;case 61:s.commit(t[e],"",s.commitType.NORMAL,"");break;case 62:s.commit(t[e],"",s.commitType.NORMAL,t[e-2]);break;case 63:s.commit(t[e-2],"",s.commitType.NORMAL,t[e]);break;case 64:s.commit(t[e-2],"",t[e],"");break;case 65:s.commit(t[e],"",t[e-2],"");break;case 66:s.commit(t[e],t[e-2],s.commitType.NORMAL,"");break;case 67:s.commit(t[e-2],t[e],s.commitType.NORMAL,"");break;case 68:s.commit(t[e-4],"",t[e-2],t[e]);break;case 69:s.commit(t[e-4],"",t[e],t[e-2]);break;case 70:s.commit(t[e-2],"",t[e-4],t[e]);break;case 71:s.commit(t[e],"",t[e-4],t[e-2]);break;case 72:s.commit(t[e],"",t[e-2],t[e-4]);break;case 73:s.commit(t[e-2],"",t[e],t[e-4]);break;case 74:s.commit(t[e-4],t[e],t[e-2],"");break;case 75:s.commit(t[e-4],t[e-2],t[e],"");break;case 76:s.commit(t[e-2],t[e],t[e-4],"");break;case 77:s.commit(t[e],t[e-2],t[e-4],"");break;case 78:s.commit(t[e],t[e-4],t[e-2],"");break;case 79:s.commit(t[e-2],t[e-4],t[e],"");break;case 80:s.commit(t[e-4],t[e],s.commitType.NORMAL,t[e-2]);break;case 81:s.commit(t[e-4],t[e-2],s.commitType.NORMAL,t[e]);break;case 82:s.commit(t[e-2],t[e],s.commitType.NORMAL,t[e-4]);break;case 83:s.commit(t[e],t[e-2],s.commitType.NORMAL,t[e-4]);break;case 84:s.commit(t[e],t[e-4],s.commitType.NORMAL,t[e-2]);break;case 85:s.commit(t[e-2],t[e-4],s.commitType.NORMAL,t[e]);break;case 86:s.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 87:s.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 88:s.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 89:s.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 90:s.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 91:s.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 92:s.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 93:s.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 94:s.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 95:s.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 96:s.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 97:s.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 98:s.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 99:s.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 100:s.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 101:s.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 102:s.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 103:s.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 104:s.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 105:s.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 106:s.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 107:s.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 108:s.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 109:s.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 110:this.$="";break;case 111:this.$=t[e];break;case 112:this.$=s.commitType.NORMAL;break;case 113:this.$=s.commitType.REVERSE;break;case 114:this.$=s.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:o,13:u,46:n},{1:[3]},{3:7,4:2,5:a,7:o,13:u,46:n},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:m},r(l,[2,117]),r(l,[2,118]),r(l,[2,119]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:m},{8:[1,15]},r(E,[2,9],{11:16,12:[1,17]}),r(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:m},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],36:[1,33],39:[1,32]},r(_,[2,7]),{1:[2,3]},{7:[1,36]},r(E,[2,10]),{4:37,7:o,13:u,46:n},r(E,[2,12]),r(i,[2,13]),r(i,[2,14]),r(i,[2,15]),{20:[1,38]},{22:[1,39]},r(i,[2,18]),r(i,[2,19]),r(i,[2,20]),{27:40,33:g,45:p},r(i,[2,110],{40:43,32:[1,46],33:[1,48],34:[1,44],37:[1,45],41:[1,47]}),{27:49,33:g,45:p},{32:[1,50],34:[1,51]},{27:52,33:g,45:p},{1:[2,4]},r(E,[2,11]),r(i,[2,16]),r(i,[2,17]),r(i,[2,21]),r(x,[2,115]),r(x,[2,116]),r(i,[2,45]),{33:[1,53]},{38:54,42:f,43:d,44:y},{33:[1,58]},{33:[1,59]},r(i,[2,111]),r(i,[2,29],{32:[1,60],34:[1,62],37:[1,61]}),{33:[1,63]},{33:[1,64],35:[1,65]},r(i,[2,22],{29:[1,66]}),r(i,[2,46],{32:[1,68],37:[1,67],41:[1,69]}),r(i,[2,47],{32:[1,71],34:[1,70],41:[1,72]}),r(H,[2,112]),r(H,[2,113]),r(H,[2,114]),r(i,[2,50],{34:[1,73],37:[1,74],41:[1,75]}),r(i,[2,61],{32:[1,78],34:[1,76],37:[1,77]}),{33:[1,79]},{38:80,42:f,43:d,44:y},{33:[1,81]},r(i,[2,24],{34:[1,82]}),{32:[1,83]},{32:[1,84]},{30:[1,85]},{38:86,42:f,43:d,44:y},{33:[1,87]},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{38:93,42:f,43:d,44:y},{33:[1,94]},{33:[1,95]},{38:96,42:f,43:d,44:y},{33:[1,97]},r(i,[2,30],{34:[1,99],37:[1,98]}),r(i,[2,31],{32:[1,101],34:[1,100]}),r(i,[2,32],{32:[1,102],37:[1,103]}),{33:[1,104],35:[1,105]},{33:[1,106]},{33:[1,107]},r(i,[2,23]),r(i,[2,48],{32:[1,108],41:[1,109]}),r(i,[2,52],{37:[1,110],41:[1,111]}),r(i,[2,62],{32:[1,113],37:[1,112]}),r(i,[2,49],{32:[1,114],41:[1,115]}),r(i,[2,54],{34:[1,116],41:[1,117]}),r(i,[2,65],{32:[1,119],34:[1,118]}),r(i,[2,51],{37:[1,120],41:[1,121]}),r(i,[2,53],{34:[1,122],41:[1,123]}),r(i,[2,66],{34:[1,125],37:[1,124]}),r(i,[2,63],{32:[1,127],37:[1,126]}),r(i,[2,64],{32:[1,129],34:[1,128]}),r(i,[2,67],{34:[1,131],37:[1,130]}),{38:132,42:f,43:d,44:y},{33:[1,133]},{33:[1,134]},{33:[1,135]},{33:[1,136]},{38:137,42:f,43:d,44:y},r(i,[2,25]),r(i,[2,26]),r(i,[2,27]),r(i,[2,28]),{33:[1,138]},{33:[1,139]},{38:140,42:f,43:d,44:y},{33:[1,141]},{38:142,42:f,43:d,44:y},{33:[1,143]},{33:[1,144]},{33:[1,145]},{33:[1,146]},{33:[1,147]},{33:[1,148]},{33:[1,149]},{38:150,42:f,43:d,44:y},{33:[1,151]},{33:[1,152]},{33:[1,153]},{38:154,42:f,43:d,44:y},{33:[1,155]},{38:156,42:f,43:d,44:y},{33:[1,157]},{33:[1,158]},{33:[1,159]},{38:160,42:f,43:d,44:y},{33:[1,161]},r(i,[2,36],{34:[1,162]}),r(i,[2,37],{37:[1,163]}),r(i,[2,35],{32:[1,164]}),r(i,[2,38],{34:[1,165]}),r(i,[2,33],{37:[1,166]}),r(i,[2,34],{32:[1,167]}),r(i,[2,59],{41:[1,168]}),r(i,[2,72],{32:[1,169]}),r(i,[2,60],{41:[1,170]}),r(i,[2,83],{37:[1,171]}),r(i,[2,73],{32:[1,172]}),r(i,[2,82],{37:[1,173]}),r(i,[2,58],{41:[1,174]}),r(i,[2,71],{32:[1,175]}),r(i,[2,57],{41:[1,176]}),r(i,[2,77],{34:[1,177]}),r(i,[2,70],{32:[1,178]}),r(i,[2,76],{34:[1,179]}),r(i,[2,56],{41:[1,180]}),r(i,[2,84],{37:[1,181]}),r(i,[2,55],{41:[1,182]}),r(i,[2,78],{34:[1,183]}),r(i,[2,79],{34:[1,184]}),r(i,[2,85],{37:[1,185]}),r(i,[2,69],{32:[1,186]}),r(i,[2,80],{37:[1,187]}),r(i,[2,68],{32:[1,188]}),r(i,[2,74],{34:[1,189]}),r(i,[2,75],{34:[1,190]}),r(i,[2,81],{37:[1,191]}),{33:[1,192]},{38:193,42:f,43:d,44:y},{33:[1,194]},{33:[1,195]},{38:196,42:f,43:d,44:y},{33:[1,197]},{33:[1,198]},{33:[1,199]},{33:[1,200]},{38:201,42:f,43:d,44:y},{33:[1,202]},{38:203,42:f,43:d,44:y},{33:[1,204]},{33:[1,205]},{33:[1,206]},{33:[1,207]},{33:[1,208]},{33:[1,209]},{33:[1,210]},{38:211,42:f,43:d,44:y},{33:[1,212]},{33:[1,213]},{33:[1,214]},{38:215,42:f,43:d,44:y},{33:[1,216]},{38:217,42:f,43:d,44:y},{33:[1,218]},{33:[1,219]},{33:[1,220]},{38:221,42:f,43:d,44:y},r(i,[2,39]),r(i,[2,41]),r(i,[2,40]),r(i,[2,42]),r(i,[2,44]),r(i,[2,43]),r(i,[2,100]),r(i,[2,101]),r(i,[2,98]),r(i,[2,99]),r(i,[2,103]),r(i,[2,102]),r(i,[2,107]),r(i,[2,106]),r(i,[2,105]),r(i,[2,104]),r(i,[2,109]),r(i,[2,108]),r(i,[2,97]),r(i,[2,96]),r(i,[2,95]),r(i,[2,94]),r(i,[2,92]),r(i,[2,93]),r(i,[2,91]),r(i,[2,90]),r(i,[2,89]),r(i,[2,88]),r(i,[2,86]),r(i,[2,87])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(h,b){if(b.recoverable)this.trace(h);else{var k=new Error(h);throw k.hash=b,k}},parse:function(h){var b=this,k=[0],s=[],T=[null],t=[],X=this.table,e="",rt=0,pt=0,Tt=2,ft=1,Lt=t.slice.call(arguments,1),M=Object.create(this.lexer),Y={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(Y.yy[ct]=this.yy[ct]);M.setInput(h,Y.yy),Y.yy.lexer=M,Y.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var ot=M.yylloc;t.push(ot);var Rt=M.options&&M.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var j;return j=s.pop()||M.lex()||ft,typeof j!="number"&&(j instanceof Array&&(s=j,j=s.pop()),j=b.symbols_[j]||j),j}for(var I,K,V,lt,W={},it,z,bt,st;;){if(K=k[k.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Mt()),V=X[K]&&X[K][I]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>Tt&&st.push("'"+this.terminals_[it]+"'");M.showPosition?ht="Parse error on line "+(rt+1)+`: +import{c as A,s as vt,g as Ct,a as At,b as Ot,x as St,y as It,l as G,j as D,A as Gt,h as Pt,z as Nt,at as Ht,au as Bt}from"./mermaid-934d9bea.1859dh9d.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";var mt=function(){var r=function(q,h,b,k){for(b=b||{},k=q.length;k--;b[q[k]]=h);return b},a=[1,3],o=[1,6],u=[1,4],n=[1,5],c=[2,5],m=[1,12],l=[5,7,13,19,21,23,24,26,28,31,36,39,46],E=[7,13,19,21,23,24,26,28,31,36,39],_=[7,12,13,19,21,23,24,26,28,31,36,39],i=[7,13,46],g=[1,42],p=[1,41],x=[7,13,29,32,34,37,46],f=[1,55],d=[1,56],y=[1,57],H=[7,13,32,34,41,46],w={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,COMMIT_TAG:34,EMPTYSTR:35,MERGE:36,COMMIT_TYPE:37,commitType:38,COMMIT:39,commit_arg:40,COMMIT_MSG:41,NORMAL:42,REVERSE:43,HIGHLIGHT:44,ID:45,";":46,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"COMMIT_TAG",35:"EMPTYSTR",36:"MERGE",37:"COMMIT_TYPE",39:"COMMIT",41:"COMMIT_MSG",42:"NORMAL",43:"REVERSE",44:"HIGHLIGHT",45:"ID",46:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,5],[18,5],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[40,0],[40,1],[38,1],[38,1],[38,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(h,b,k,s,T,t,X){var e=t.length-1;switch(T){case 2:return t[e];case 3:return t[e-1];case 4:return s.setDirection(t[e-3]),t[e-1];case 6:s.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),s.setAccDescription(this.$);break;case 19:s.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:s.checkout(t[e]);break;case 22:s.branch(t[e]);break;case 23:s.branch(t[e-2],t[e]);break;case 24:s.cherryPick(t[e],"",void 0);break;case 25:s.cherryPick(t[e-2],"",t[e]);break;case 26:case 28:s.cherryPick(t[e-2],"","");break;case 27:s.cherryPick(t[e],"",t[e-2]);break;case 29:s.merge(t[e],"","","");break;case 30:s.merge(t[e-2],t[e],"","");break;case 31:s.merge(t[e-2],"",t[e],"");break;case 32:s.merge(t[e-2],"","",t[e]);break;case 33:s.merge(t[e-4],t[e],"",t[e-2]);break;case 34:s.merge(t[e-4],"",t[e],t[e-2]);break;case 35:s.merge(t[e-4],"",t[e-2],t[e]);break;case 36:s.merge(t[e-4],t[e-2],t[e],"");break;case 37:s.merge(t[e-4],t[e-2],"",t[e]);break;case 38:s.merge(t[e-4],t[e],t[e-2],"");break;case 39:s.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 40:s.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 41:s.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 42:s.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 43:s.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 44:s.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 45:s.commit(t[e]);break;case 46:s.commit("","",s.commitType.NORMAL,t[e]);break;case 47:s.commit("","",t[e],"");break;case 48:s.commit("","",t[e],t[e-2]);break;case 49:s.commit("","",t[e-2],t[e]);break;case 50:s.commit("",t[e],s.commitType.NORMAL,"");break;case 51:s.commit("",t[e-2],s.commitType.NORMAL,t[e]);break;case 52:s.commit("",t[e],s.commitType.NORMAL,t[e-2]);break;case 53:s.commit("",t[e-2],t[e],"");break;case 54:s.commit("",t[e],t[e-2],"");break;case 55:s.commit("",t[e-4],t[e-2],t[e]);break;case 56:s.commit("",t[e-4],t[e],t[e-2]);break;case 57:s.commit("",t[e-2],t[e-4],t[e]);break;case 58:s.commit("",t[e],t[e-4],t[e-2]);break;case 59:s.commit("",t[e],t[e-2],t[e-4]);break;case 60:s.commit("",t[e-2],t[e],t[e-4]);break;case 61:s.commit(t[e],"",s.commitType.NORMAL,"");break;case 62:s.commit(t[e],"",s.commitType.NORMAL,t[e-2]);break;case 63:s.commit(t[e-2],"",s.commitType.NORMAL,t[e]);break;case 64:s.commit(t[e-2],"",t[e],"");break;case 65:s.commit(t[e],"",t[e-2],"");break;case 66:s.commit(t[e],t[e-2],s.commitType.NORMAL,"");break;case 67:s.commit(t[e-2],t[e],s.commitType.NORMAL,"");break;case 68:s.commit(t[e-4],"",t[e-2],t[e]);break;case 69:s.commit(t[e-4],"",t[e],t[e-2]);break;case 70:s.commit(t[e-2],"",t[e-4],t[e]);break;case 71:s.commit(t[e],"",t[e-4],t[e-2]);break;case 72:s.commit(t[e],"",t[e-2],t[e-4]);break;case 73:s.commit(t[e-2],"",t[e],t[e-4]);break;case 74:s.commit(t[e-4],t[e],t[e-2],"");break;case 75:s.commit(t[e-4],t[e-2],t[e],"");break;case 76:s.commit(t[e-2],t[e],t[e-4],"");break;case 77:s.commit(t[e],t[e-2],t[e-4],"");break;case 78:s.commit(t[e],t[e-4],t[e-2],"");break;case 79:s.commit(t[e-2],t[e-4],t[e],"");break;case 80:s.commit(t[e-4],t[e],s.commitType.NORMAL,t[e-2]);break;case 81:s.commit(t[e-4],t[e-2],s.commitType.NORMAL,t[e]);break;case 82:s.commit(t[e-2],t[e],s.commitType.NORMAL,t[e-4]);break;case 83:s.commit(t[e],t[e-2],s.commitType.NORMAL,t[e-4]);break;case 84:s.commit(t[e],t[e-4],s.commitType.NORMAL,t[e-2]);break;case 85:s.commit(t[e-2],t[e-4],s.commitType.NORMAL,t[e]);break;case 86:s.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 87:s.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 88:s.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 89:s.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 90:s.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 91:s.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 92:s.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 93:s.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 94:s.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 95:s.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 96:s.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 97:s.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 98:s.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 99:s.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 100:s.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 101:s.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 102:s.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 103:s.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 104:s.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 105:s.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 106:s.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 107:s.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 108:s.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 109:s.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 110:this.$="";break;case 111:this.$=t[e];break;case 112:this.$=s.commitType.NORMAL;break;case 113:this.$=s.commitType.REVERSE;break;case 114:this.$=s.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:o,13:u,46:n},{1:[3]},{3:7,4:2,5:a,7:o,13:u,46:n},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:m},r(l,[2,117]),r(l,[2,118]),r(l,[2,119]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:m},{8:[1,15]},r(E,[2,9],{11:16,12:[1,17]}),r(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:m},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],36:[1,33],39:[1,32]},r(_,[2,7]),{1:[2,3]},{7:[1,36]},r(E,[2,10]),{4:37,7:o,13:u,46:n},r(E,[2,12]),r(i,[2,13]),r(i,[2,14]),r(i,[2,15]),{20:[1,38]},{22:[1,39]},r(i,[2,18]),r(i,[2,19]),r(i,[2,20]),{27:40,33:g,45:p},r(i,[2,110],{40:43,32:[1,46],33:[1,48],34:[1,44],37:[1,45],41:[1,47]}),{27:49,33:g,45:p},{32:[1,50],34:[1,51]},{27:52,33:g,45:p},{1:[2,4]},r(E,[2,11]),r(i,[2,16]),r(i,[2,17]),r(i,[2,21]),r(x,[2,115]),r(x,[2,116]),r(i,[2,45]),{33:[1,53]},{38:54,42:f,43:d,44:y},{33:[1,58]},{33:[1,59]},r(i,[2,111]),r(i,[2,29],{32:[1,60],34:[1,62],37:[1,61]}),{33:[1,63]},{33:[1,64],35:[1,65]},r(i,[2,22],{29:[1,66]}),r(i,[2,46],{32:[1,68],37:[1,67],41:[1,69]}),r(i,[2,47],{32:[1,71],34:[1,70],41:[1,72]}),r(H,[2,112]),r(H,[2,113]),r(H,[2,114]),r(i,[2,50],{34:[1,73],37:[1,74],41:[1,75]}),r(i,[2,61],{32:[1,78],34:[1,76],37:[1,77]}),{33:[1,79]},{38:80,42:f,43:d,44:y},{33:[1,81]},r(i,[2,24],{34:[1,82]}),{32:[1,83]},{32:[1,84]},{30:[1,85]},{38:86,42:f,43:d,44:y},{33:[1,87]},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{38:93,42:f,43:d,44:y},{33:[1,94]},{33:[1,95]},{38:96,42:f,43:d,44:y},{33:[1,97]},r(i,[2,30],{34:[1,99],37:[1,98]}),r(i,[2,31],{32:[1,101],34:[1,100]}),r(i,[2,32],{32:[1,102],37:[1,103]}),{33:[1,104],35:[1,105]},{33:[1,106]},{33:[1,107]},r(i,[2,23]),r(i,[2,48],{32:[1,108],41:[1,109]}),r(i,[2,52],{37:[1,110],41:[1,111]}),r(i,[2,62],{32:[1,113],37:[1,112]}),r(i,[2,49],{32:[1,114],41:[1,115]}),r(i,[2,54],{34:[1,116],41:[1,117]}),r(i,[2,65],{32:[1,119],34:[1,118]}),r(i,[2,51],{37:[1,120],41:[1,121]}),r(i,[2,53],{34:[1,122],41:[1,123]}),r(i,[2,66],{34:[1,125],37:[1,124]}),r(i,[2,63],{32:[1,127],37:[1,126]}),r(i,[2,64],{32:[1,129],34:[1,128]}),r(i,[2,67],{34:[1,131],37:[1,130]}),{38:132,42:f,43:d,44:y},{33:[1,133]},{33:[1,134]},{33:[1,135]},{33:[1,136]},{38:137,42:f,43:d,44:y},r(i,[2,25]),r(i,[2,26]),r(i,[2,27]),r(i,[2,28]),{33:[1,138]},{33:[1,139]},{38:140,42:f,43:d,44:y},{33:[1,141]},{38:142,42:f,43:d,44:y},{33:[1,143]},{33:[1,144]},{33:[1,145]},{33:[1,146]},{33:[1,147]},{33:[1,148]},{33:[1,149]},{38:150,42:f,43:d,44:y},{33:[1,151]},{33:[1,152]},{33:[1,153]},{38:154,42:f,43:d,44:y},{33:[1,155]},{38:156,42:f,43:d,44:y},{33:[1,157]},{33:[1,158]},{33:[1,159]},{38:160,42:f,43:d,44:y},{33:[1,161]},r(i,[2,36],{34:[1,162]}),r(i,[2,37],{37:[1,163]}),r(i,[2,35],{32:[1,164]}),r(i,[2,38],{34:[1,165]}),r(i,[2,33],{37:[1,166]}),r(i,[2,34],{32:[1,167]}),r(i,[2,59],{41:[1,168]}),r(i,[2,72],{32:[1,169]}),r(i,[2,60],{41:[1,170]}),r(i,[2,83],{37:[1,171]}),r(i,[2,73],{32:[1,172]}),r(i,[2,82],{37:[1,173]}),r(i,[2,58],{41:[1,174]}),r(i,[2,71],{32:[1,175]}),r(i,[2,57],{41:[1,176]}),r(i,[2,77],{34:[1,177]}),r(i,[2,70],{32:[1,178]}),r(i,[2,76],{34:[1,179]}),r(i,[2,56],{41:[1,180]}),r(i,[2,84],{37:[1,181]}),r(i,[2,55],{41:[1,182]}),r(i,[2,78],{34:[1,183]}),r(i,[2,79],{34:[1,184]}),r(i,[2,85],{37:[1,185]}),r(i,[2,69],{32:[1,186]}),r(i,[2,80],{37:[1,187]}),r(i,[2,68],{32:[1,188]}),r(i,[2,74],{34:[1,189]}),r(i,[2,75],{34:[1,190]}),r(i,[2,81],{37:[1,191]}),{33:[1,192]},{38:193,42:f,43:d,44:y},{33:[1,194]},{33:[1,195]},{38:196,42:f,43:d,44:y},{33:[1,197]},{33:[1,198]},{33:[1,199]},{33:[1,200]},{38:201,42:f,43:d,44:y},{33:[1,202]},{38:203,42:f,43:d,44:y},{33:[1,204]},{33:[1,205]},{33:[1,206]},{33:[1,207]},{33:[1,208]},{33:[1,209]},{33:[1,210]},{38:211,42:f,43:d,44:y},{33:[1,212]},{33:[1,213]},{33:[1,214]},{38:215,42:f,43:d,44:y},{33:[1,216]},{38:217,42:f,43:d,44:y},{33:[1,218]},{33:[1,219]},{33:[1,220]},{38:221,42:f,43:d,44:y},r(i,[2,39]),r(i,[2,41]),r(i,[2,40]),r(i,[2,42]),r(i,[2,44]),r(i,[2,43]),r(i,[2,100]),r(i,[2,101]),r(i,[2,98]),r(i,[2,99]),r(i,[2,103]),r(i,[2,102]),r(i,[2,107]),r(i,[2,106]),r(i,[2,105]),r(i,[2,104]),r(i,[2,109]),r(i,[2,108]),r(i,[2,97]),r(i,[2,96]),r(i,[2,95]),r(i,[2,94]),r(i,[2,92]),r(i,[2,93]),r(i,[2,91]),r(i,[2,90]),r(i,[2,89]),r(i,[2,88]),r(i,[2,86]),r(i,[2,87])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(h,b){if(b.recoverable)this.trace(h);else{var k=new Error(h);throw k.hash=b,k}},parse:function(h){var b=this,k=[0],s=[],T=[null],t=[],X=this.table,e="",rt=0,pt=0,Tt=2,ft=1,Lt=t.slice.call(arguments,1),M=Object.create(this.lexer),Y={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(Y.yy[ct]=this.yy[ct]);M.setInput(h,Y.yy),Y.yy.lexer=M,Y.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var ot=M.yylloc;t.push(ot);var Rt=M.options&&M.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var j;return j=s.pop()||M.lex()||ft,typeof j!="number"&&(j instanceof Array&&(s=j,j=s.pop()),j=b.symbols_[j]||j),j}for(var I,K,V,lt,W={},it,z,bt,st;;){if(K=k[k.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((I===null||typeof I>"u")&&(I=Mt()),V=X[K]&&X[K][I]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>Tt&&st.push("'"+this.terminals_[it]+"'");M.showPosition?ht="Parse error on line "+(rt+1)+`: `+M.showPosition()+` Expecting `+st.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ht="Parse error on line "+(rt+1)+": Unexpected "+(I==ft?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ht,{text:M.match,token:this.terminals_[I]||I,line:M.yylineno,loc:ot,expected:st})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+I);switch(V[0]){case 1:k.push(I),T.push(M.yytext),t.push(M.yylloc),k.push(V[1]),I=null,pt=M.yyleng,e=M.yytext,rt=M.yylineno,ot=M.yylloc;break;case 2:if(z=this.productions_[V[1]][1],W.$=T[T.length-z],W._$={first_line:t[t.length-(z||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(z||1)].first_column,last_column:t[t.length-1].last_column},Rt&&(W._$.range=[t[t.length-(z||1)].range[0],t[t.length-1].range[1]]),lt=this.performAction.apply(W,[e,pt,rt,Y.yy,V[1],T,t].concat(Lt)),typeof lt<"u")return lt;z&&(k=k.slice(0,-1*z*2),T=T.slice(0,-1*z),t=t.slice(0,-1*z)),k.push(this.productions_[V[1]][0]),T.push(W.$),t.push(W._$),bt=X[k[k.length-2]][k[k.length-1]],k.push(bt);break;case 3:return!0}}return!0}},B=function(){var q={EOF:1,parseError:function(b,k){if(this.yy.parser)this.yy.parser.parseError(b,k);else throw new Error(b)},setInput:function(h,b){return this.yy=b||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 b=h.match(/(?:\r\n?|\n).*/g);return b?(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 b=h.length,k=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;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),k.length-1&&(this.yylineno-=k.length-1);var T=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:k?(k.length===s.length?this.yylloc.first_column:0)+s[s.length-k.length].length-k[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-b]),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(),b=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/_nuxt/index-67a42d7d.xUqpZOgv.js b/_nuxt/index-67a42d7d.V6muVu2_.js similarity index 97% rename from _nuxt/index-67a42d7d.xUqpZOgv.js rename to _nuxt/index-67a42d7d.V6muVu2_.js index 9660773c00..d85a87bc02 100644 --- a/_nuxt/index-67a42d7d.xUqpZOgv.js +++ b/_nuxt/index-67a42d7d.V6muVu2_.js @@ -1 +1 @@ -import{b as G,i as m,m as O,G as j,l as A}from"./layout.m-I5JUDt.js";import{i as M,u as _,s as H,a as V,b as U,p as D,c as W,d as Y,e as q,f as z,g as L,h as C}from"./edges-80f1ebb6.sUApLEFd.js";import{l as i,r as N,c as S,h as T}from"./mermaid-934d9bea.A2NtSsGH.js";import{c as K}from"./createText-aebacdfe.T0gmTUMP.js";var Q=4;function Z(e){return G(e,Q)}function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:I(e),edges:tt(e)};return m(e.graph())||(t.value=Z(e.graph())),t}function I(e){return O(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m(n)||(s.value=n),m(r)||(s.parent=r),s})}function tt(e){return O(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m(t.name)||(r.name=t.name),m(n)||(r.value=n),r})}let f={},g={},J={};const et=()=>{g={},J={},f={}},X=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),nt=(e,t)=>(i.info("Decendants of ",t," is ",g[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||X(e.v,t)||X(e.w,t)||g[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),R=(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(c=>{if(t.children(c).length>0)R(c,t,n,r);else{const d=t.node(c);i.info("cp ",c," to ",r," with parent ",e),n.setNode(c,d),r!==t.parent(c)&&(i.warn("Setting parent",c,t.parent(c)),n.setParent(c,t.parent(c))),e!==r&&c!==e?(i.debug("Setting parent",c,e),n.setParent(c,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",c,"cluster!==rootId",e!==r,"node!==clusterId",c!==e));const l=t.edges(c);i.debug("Copying Edges",l),l.forEach(u=>{i.info("Edge",u);const h=t.edge(u.v,u.w,u.name);i.info("Edge data",h,r);try{nt(u,r)?(i.info("Copying as ",u.v,u.w,h,u.name),n.setEdge(u.v,u.w,h,u.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",r," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",c),t.removeNode(c)})},P=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)J[s]=e,r=[...r,...P(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}},E=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,it=(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)),g[n]=P(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,g),s.forEach(c=>{if(c.v!==n&&c.w!==n){const d=X(c.v,n),l=X(c.w,n);d^l&&(i.warn("Edge: ",c," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",g[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,g)}),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,c=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=E(n.v),c=E(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=structuredClone(r),u=structuredClone(r);l.label="",l.arrowTypeEnd="none",u.label="",l.fromCluster=n.v,u.toCluster=n.v,e.setEdge(s,d,l,n.name+"-cyclic-special"),e.setEdge(d,c,u,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=E(n.v),c=E(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),c!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,c,n.name),e.setEdge(s,c,r,n.name))}),i.warn("Adjusted Graph",x(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,x(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const c=e.children(s);r=r||c.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 d=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(d=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,d));const l=new j({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",x(e)),R(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,")",x(l)),i.debug("Old graph after copy",x(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 c=e.node(s);i.warn(" Now next level",s,c),c.clusterNode&&p(c.graph,t+1)}},F=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),c=F(e,s);n=[...n,...c]}),n},st=e=>F(e,e.children()),rt=(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(S().flowchart.htmlLabels),c=n.insert("g").attr("class","cluster-label"),d=t.labelType==="markdown"?K(c,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):c.node().appendChild(L(t.labelText,t.labelStyle,void 0,!0));let l=d.getBBox();if(N(S().flowchart.htmlLabels)){const a=d.children[0],o=T(d);l=a.getBoundingClientRect(),o.attr("width",l.width),o.attr("height",l.height)}const u=0*t.padding,h=u/2,w=t.width<=l.width+u?l.width+u:t.width;t.width<=l.width+u?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-w/2).attr("y",t.y-t.height/2-h).attr("width",w).attr("height",t.height+u),s?c.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):c.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const v=r.node().getBBox();return t.width=v.width,t.height=v.height,t.intersect=function(a){return C(t,a)},n},at=(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,c=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-c).attr("y",t.y-t.height/2-c).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(l){return C(t,l)},n},ct=(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"),c=n.append("rect"),d=s.node().appendChild(L(t.labelText,t.labelStyle,void 0,!0));let l=d.getBBox();if(N(S().flowchart.htmlLabels)){const a=d.children[0],o=T(d);l=a.getBoundingClientRect(),o.attr("width",l.width),o.attr("height",l.height)}l=d.getBBox();const u=0*t.padding,h=u/2,w=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-w/2-h).attr("y",t.y-t.height/2-h).attr("width",w+u).attr("height",t.height+u),c.attr("class","inner").attr("x",t.x-w/2-h).attr("y",t.y-t.height/2-h+l.height-1).attr("width",w+u).attr("height",t.height+u-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(S().flowchart.htmlLabels)?5:3))+")");const v=r.node().getBBox();return t.height=v.height,t.intersect=function(a){return C(t,a)},n},ot=(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,c=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-c).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(l){return C(t,l)},n},lt={rect:rt,roundedWithTitle:ct,noteGroup:at,divider:ot};let k={};const ft=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";k[t.id]=lt[n](e,t)},dt=()=>{k={}},$=async(e,t,n,r,s)=>{i.info("Graph in recursive render: XXX",x(t),s);const c=t.graph().rankdir;i.trace("Dir in recursive render - dir:",c);const d=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 l=d.insert("g").attr("class","clusters"),u=d.insert("g").attr("class","edgePaths"),h=d.insert("g").attr("class","edgeLabels"),w=d.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(a){const o=t.node(a);if(s!==void 0){const y=JSON.parse(JSON.stringify(s.clusterData));i.info("Setting data for cluster XXX (",a,") ",y,s),t.setNode(s.id,y),t.parent(a)||(i.trace("Setting parent",a,s.id),t.setParent(a,s.id,y))}if(i.info("(Insert) Node XXX"+a+": "+JSON.stringify(t.node(a))),o&&o.clusterNode){i.info("Cluster identified",a,o.width,t.node(a));const y=await $(w,o.graph,n,r,t.node(a)),B=y.elem;_(o,B),o.diff=y.diff||0,i.info("Node bounds (abc123)",a,o,o.width,o.x,o.y),H(B,o),i.warn("Recursive render complete ",B,o)}else t.children(a).length>0?(i.info("Cluster - the non recursive path XXX",a,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",a,o.id,o),await V(w,t.node(a),c))})),t.edges().forEach(function(a){const o=t.edge(a.v,a.w,a.name);i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(a)),i.info("Edge "+a.v+" -> "+a.w+": ",a," ",JSON.stringify(t.edge(a))),i.info("Fix",f,"ids:",a.v,a.w,"Translateing: ",f[a.v],f[a.w]),U(h,o)}),t.edges().forEach(function(a){i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(a))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),A(t),i.info("Graph after layout:",x(t));let v=0;return st(t).forEach(function(a){const o=t.node(a);i.info("Position "+a+": "+JSON.stringify(t.node(a))),i.info("Position "+a+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?D(o):t.children(a).length>0?(ft(l,o),f[o.id].node=o):D(o)}),t.edges().forEach(function(a){const o=t.edge(a);i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(o),o);const y=W(u,a,o,f,n,t,r);Y(o,y)}),t.nodes().forEach(function(a){const o=t.node(a);i.info(a,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:d,diff:v}},xt=async(e,t,n,r,s)=>{M(e,n,r,s),q(),z(),dt(),et(),i.warn("Graph at first:",JSON.stringify(x(t))),it(t),i.warn("Graph after:",JSON.stringify(x(t))),await $(e,t,r,s)};export{xt as r}; +import{b as G,i as m,m as O,G as j,l as A}from"./layout.nII1iIDV.js";import{i as M,u as _,s as H,a as V,b as U,p as D,c as W,d as Y,e as q,f as z,g as L,h as C}from"./edges-80f1ebb6.d3gBK9Nl.js";import{l as i,r as N,c as S,h as T}from"./mermaid-934d9bea.1859dh9d.js";import{c as K}from"./createText-aebacdfe.wmc7v5UB.js";var Q=4;function Z(e){return G(e,Q)}function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:I(e),edges:tt(e)};return m(e.graph())||(t.value=Z(e.graph())),t}function I(e){return O(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m(n)||(s.value=n),m(r)||(s.parent=r),s})}function tt(e){return O(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m(t.name)||(r.name=t.name),m(n)||(r.value=n),r})}let f={},g={},J={};const et=()=>{g={},J={},f={}},X=(e,t)=>(i.trace("In isDecendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),nt=(e,t)=>(i.info("Decendants of ",t," is ",g[t]),i.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||X(e.v,t)||X(e.w,t)||g[t].includes(e.w):(i.debug("Tilt, ",t,",not in decendants"),!1)),R=(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(c=>{if(t.children(c).length>0)R(c,t,n,r);else{const d=t.node(c);i.info("cp ",c," to ",r," with parent ",e),n.setNode(c,d),r!==t.parent(c)&&(i.warn("Setting parent",c,t.parent(c)),n.setParent(c,t.parent(c))),e!==r&&c!==e?(i.debug("Setting parent",c,e),n.setParent(c,e)):(i.info("In copy ",e,"root",r,"data",t.node(e),r),i.debug("Not Setting parent for node=",c,"cluster!==rootId",e!==r,"node!==clusterId",c!==e));const l=t.edges(c);i.debug("Copying Edges",l),l.forEach(u=>{i.info("Edge",u);const h=t.edge(u.v,u.w,u.name);i.info("Edge data",h,r);try{nt(u,r)?(i.info("Copying as ",u.v,u.w,h,u.name),n.setEdge(u.v,u.w,h,u.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",r," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",c),t.removeNode(c)})},P=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)J[s]=e,r=[...r,...P(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}},E=e=>!f[e]||!f[e].externalConnections?e:f[e]?f[e].id:e,it=(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)),g[n]=P(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,g),s.forEach(c=>{if(c.v!==n&&c.w!==n){const d=X(c.v,n),l=X(c.w,n);d^l&&(i.warn("Edge: ",c," leaves cluster ",n),i.warn("Decendants of XXX ",n,": ",g[n]),f[n].externalConnections=!0)}})):i.debug("Not a cluster ",n,g)}),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,c=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=E(n.v),c=E(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const l=structuredClone(r),u=structuredClone(r);l.label="",l.arrowTypeEnd="none",u.label="",l.fromCluster=n.v,u.toCluster=n.v,e.setEdge(s,d,l,n.name+"-cyclic-special"),e.setEdge(d,c,u,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=E(n.v),c=E(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v&&(r.fromCluster=n.v),c!==n.w&&(r.toCluster=n.w),i.warn("Fix Replacing with XXX",s,c,n.name),e.setEdge(s,c,r,n.name))}),i.warn("Adjusted Graph",x(e)),p(e,0),i.trace(f)},p=(e,t)=>{if(i.warn("extractor - ",t,x(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const c=e.children(s);r=r||c.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 d=e.graph().rankdir==="TB"?"LR":"TB";f[s]&&f[s].clusterData&&f[s].clusterData.dir&&(d=f[s].clusterData.dir,i.warn("Fixing dir",f[s].clusterData.dir,d));const l=new j({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",x(e)),R(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,")",x(l)),i.debug("Old graph after copy",x(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 c=e.node(s);i.warn(" Now next level",s,c),c.clusterNode&&p(c.graph,t+1)}},F=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),c=F(e,s);n=[...n,...c]}),n},st=e=>F(e,e.children()),rt=(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(S().flowchart.htmlLabels),c=n.insert("g").attr("class","cluster-label"),d=t.labelType==="markdown"?K(c,t.labelText,{style:t.labelStyle,useHtmlLabels:s}):c.node().appendChild(L(t.labelText,t.labelStyle,void 0,!0));let l=d.getBBox();if(N(S().flowchart.htmlLabels)){const a=d.children[0],o=T(d);l=a.getBoundingClientRect(),o.attr("width",l.width),o.attr("height",l.height)}const u=0*t.padding,h=u/2,w=t.width<=l.width+u?l.width+u:t.width;t.width<=l.width+u?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-w/2).attr("y",t.y-t.height/2-h).attr("width",w).attr("height",t.height+u),s?c.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2)+")"):c.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const v=r.node().getBBox();return t.width=v.width,t.height=v.height,t.intersect=function(a){return C(t,a)},n},at=(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,c=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-c).attr("y",t.y-t.height/2-c).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(l){return C(t,l)},n},ct=(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"),c=n.append("rect"),d=s.node().appendChild(L(t.labelText,t.labelStyle,void 0,!0));let l=d.getBBox();if(N(S().flowchart.htmlLabels)){const a=d.children[0],o=T(d);l=a.getBoundingClientRect(),o.attr("width",l.width),o.attr("height",l.height)}l=d.getBBox();const u=0*t.padding,h=u/2,w=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-w/2-h).attr("y",t.y-t.height/2-h).attr("width",w+u).attr("height",t.height+u),c.attr("class","inner").attr("x",t.x-w/2-h).attr("y",t.y-t.height/2-h+l.height-1).attr("width",w+u).attr("height",t.height+u-l.height-3),s.attr("transform","translate("+(t.x-l.width/2)+", "+(t.y-t.height/2-t.padding/3+(N(S().flowchart.htmlLabels)?5:3))+")");const v=r.node().getBBox();return t.height=v.height,t.intersect=function(a){return C(t,a)},n},ot=(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,c=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-c).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(l){return C(t,l)},n},lt={rect:rt,roundedWithTitle:ct,noteGroup:at,divider:ot};let k={};const ft=(e,t)=>{i.trace("Inserting cluster");const n=t.shape||"rect";k[t.id]=lt[n](e,t)},dt=()=>{k={}},$=async(e,t,n,r,s)=>{i.info("Graph in recursive render: XXX",x(t),s);const c=t.graph().rankdir;i.trace("Dir in recursive render - dir:",c);const d=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 l=d.insert("g").attr("class","clusters"),u=d.insert("g").attr("class","edgePaths"),h=d.insert("g").attr("class","edgeLabels"),w=d.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(a){const o=t.node(a);if(s!==void 0){const y=JSON.parse(JSON.stringify(s.clusterData));i.info("Setting data for cluster XXX (",a,") ",y,s),t.setNode(s.id,y),t.parent(a)||(i.trace("Setting parent",a,s.id),t.setParent(a,s.id,y))}if(i.info("(Insert) Node XXX"+a+": "+JSON.stringify(t.node(a))),o&&o.clusterNode){i.info("Cluster identified",a,o.width,t.node(a));const y=await $(w,o.graph,n,r,t.node(a)),B=y.elem;_(o,B),o.diff=y.diff||0,i.info("Node bounds (abc123)",a,o,o.width,o.x,o.y),H(B,o),i.warn("Recursive render complete ",B,o)}else t.children(a).length>0?(i.info("Cluster - the non recursive path XXX",a,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",a,o.id,o),await V(w,t.node(a),c))})),t.edges().forEach(function(a){const o=t.edge(a.v,a.w,a.name);i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(a)),i.info("Edge "+a.v+" -> "+a.w+": ",a," ",JSON.stringify(t.edge(a))),i.info("Fix",f,"ids:",a.v,a.w,"Translateing: ",f[a.v],f[a.w]),U(h,o)}),t.edges().forEach(function(a){i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(a))}),i.info("#############################################"),i.info("### Layout ###"),i.info("#############################################"),i.info(t),A(t),i.info("Graph after layout:",x(t));let v=0;return st(t).forEach(function(a){const o=t.node(a);i.info("Position "+a+": "+JSON.stringify(t.node(a))),i.info("Position "+a+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?D(o):t.children(a).length>0?(ft(l,o),f[o.id].node=o):D(o)}),t.edges().forEach(function(a){const o=t.edge(a);i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(o),o);const y=W(u,a,o,f,n,t,r);Y(o,y)}),t.nodes().forEach(function(a){const o=t.node(a);i.info(a,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:d,diff:v}},xt=async(e,t,n,r,s)=>{M(e,n,r,s),q(),z(),dt(),et(),i.warn("Graph at first:",JSON.stringify(x(t))),it(t),i.warn("Graph after:",JSON.stringify(x(t))),await $(e,t,r,s)};export{xt as r}; diff --git a/_nuxt/index.esm.2qW5NcAJ.js b/_nuxt/index.esm.5yGQZtXl.js similarity index 99% rename from _nuxt/index.esm.2qW5NcAJ.js rename to _nuxt/index.esm.5yGQZtXl.js index b2f43a9e93..65649f4711 100644 --- a/_nuxt/index.esm.2qW5NcAJ.js +++ b/_nuxt/index.esm.5yGQZtXl.js @@ -1,4 +1,4 @@ -import{K as T,a6 as w,L as $,o as Gt,U as Ht,$ as ze,a7 as Ee,a8 as Or,r as ie,a9 as Le,B as le,aa as Er,ab as wr,I as Fr,ac as He,ad as Sr}from"./entry.q1HaRjkf.js";import{g as Ar}from"./_commonjsHelpers.5-cIlDoe.js";/** +import{K as T,a6 as w,L as $,o as Gt,U as Ht,$ as ze,a7 as Ee,a8 as Or,r as ie,a9 as Le,B as le,aa as Er,ab as wr,I as Fr,ac as He,ad as Sr}from"./entry.DMNM28aL.js";import{g as Ar}from"./_commonjsHelpers.5-cIlDoe.js";/** * vee-validate v4.12.4 * (c) 2023 Abdelrahman Awad * @license MIT diff --git a/_nuxt/index.yCA1HJN8.js b/_nuxt/index.lhx1JYyI.js similarity index 89% rename from _nuxt/index.yCA1HJN8.js rename to _nuxt/index.lhx1JYyI.js index b68a1cbd3a..4a54cdea7d 100644 --- a/_nuxt/index.yCA1HJN8.js +++ b/_nuxt/index.lhx1JYyI.js @@ -1 +1 @@ -import{a7 as s,an as f,aa as c,at as u,r as i,au as p,av as l}from"./entry.q1HaRjkf.js";function d(e){return p()?(l(e),!0):!1}function S(){const e=new Set,o=t=>{e.delete(t)};return{on:t=>{e.add(t);const n=()=>o(t);return d(n),{off:n}},off:o,trigger:(...t)=>Promise.all(Array.from(e).map(n=>n(...t)))}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const g=()=>{};function y(...e){if(e.length!==1)return f(...e);const o=e[0];return typeof o=="function"?c(u(()=>({get:o,set:g}))):i(o)}function h(e,o,a){return s(e,(r,t,n)=>{r&&o(r,t,n)},a)}export{S as c,y as t,h as w}; +import{a7 as s,an as f,aa as c,at as u,r as i,au as p,av as l}from"./entry.DMNM28aL.js";function d(e){return p()?(l(e),!0):!1}function S(){const e=new Set,o=t=>{e.delete(t)};return{on:t=>{e.add(t);const n=()=>o(t);return d(n),{off:n}},off:o,trigger:(...t)=>Promise.all(Array.from(e).map(n=>n(...t)))}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const g=()=>{};function y(...e){if(e.length!==1)return f(...e);const o=e[0];return typeof o=="function"?c(u(()=>({get:o,set:g}))):i(o)}function h(e,o,a){return s(e,(r,t,n)=>{r&&o(r,t,n)},a)}export{S as c,y as t,h as w}; diff --git a/_nuxt/infoDiagram-a336098b.IO5q47lF.js b/_nuxt/infoDiagram-a336098b.N6yAVH6y.js similarity index 98% rename from _nuxt/infoDiagram-a336098b.IO5q47lF.js rename to _nuxt/infoDiagram-a336098b.N6yAVH6y.js index 8581686dbd..6a3b483422 100644 --- a/_nuxt/infoDiagram-a336098b.IO5q47lF.js +++ b/_nuxt/infoDiagram-a336098b.N6yAVH6y.js @@ -1,4 +1,4 @@ -import{l as Y,aI as D,i as M}from"./mermaid-934d9bea.A2NtSsGH.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={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,d){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]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(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=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);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 z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: +import{l as Y,aI as D,i as M}from"./mermaid-934d9bea.1859dh9d.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={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,d){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]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(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=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);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 z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: `+o.showPosition()+` Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==T?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(h[1]),l=null,L=o.yyleng,P=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],_.$=r[r.length-c],_._$={first_line:i[i.length-(c||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(c||1)].first_column,last_column:i[i.length-1].last_column},z&&(_._$.range=[i[i.length-(c||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(_,[P,L,v,p.yy,h[1],r,i].concat(R)),typeof w<"u")return w;c&&(n=n.slice(0,-1*c*2),r=r.slice(0,-1*c),i=i.slice(0,-1*c)),n.push(this.productions_[h[1]][0]),r.push(_.$),i.push(_._$),F=d[n[n.length-2]][n[n.length-1]],n.push(F);break;case 3:return!0}}return!0}},k=function(){var u={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/journeyDiagram-deae3313.ZuElExma.js b/_nuxt/journeyDiagram-deae3313.qk1fbuUl.js similarity index 98% rename from _nuxt/journeyDiagram-deae3313.ZuElExma.js rename to _nuxt/journeyDiagram-deae3313.qk1fbuUl.js index 11805e0079..7e4ea02ab6 100644 --- a/_nuxt/journeyDiagram-deae3313.ZuElExma.js +++ b/_nuxt/journeyDiagram-deae3313.qk1fbuUl.js @@ -1,4 +1,4 @@ -import{c as A,x as yt,y as ft,s as dt,g as pt,b as gt,a as mt,A as xt,h as W,i as kt}from"./mermaid-934d9bea.A2NtSsGH.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-ad5ef572.xEe9aykG.js";import{a as Q}from"./arc.qN4MtU4T.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./path.aUcfwwLI.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,I={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: +import{c as A,x as yt,y as ft,s as dt,g as pt,b as gt,a as mt,A as xt,h as W,i as kt}from"./mermaid-934d9bea.1859dh9d.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-ad5ef572.m9jf1X3z.js";import{a as Q}from"./arc.ndZ8SnWc.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./path.aUcfwwLI.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,I={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: `+x.showPosition()+` Expecting `+B.join(", ")+", got '"+(this.terminals_[_]||_)+"'":q="Parse error on line "+(R+1)+": Unexpected "+(_==J?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[_]||_,line:x.yylineno,loc:Y,expected:B})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(b[0]){case 1:a.push(_),d.push(x.yytext),o.push(x.yylloc),a.push(b[1]),_=null,Z=x.yyleng,k=x.yytext,R=x.yylineno,Y=x.yylloc;break;case 2:if($=this.productions_[b[1]][1],I.$=d[d.length-$],I._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},ht&&(I._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),O=this.performAction.apply(I,[k,Z,R,S.yy,b[1],d,o].concat(ct)),typeof O<"u")return O;$&&(a=a.slice(0,-1*$*2),d=d.slice(0,-1*$),o=o.slice(0,-1*$)),a.push(this.productions_[b[1]][0]),d.push(I.$),o.push(I._$),K=w[a[a.length-2]][a[a.length-1]],a.push(K);break;case 3:return!0}}return!0}},m=function(){var p={EOF:1,parseError:function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},setInput:function(s,r){return this.yy=r||this.yy||{},this._input=s,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 s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var r=s.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),s},unput:function(s){var r=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;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),a.length-1&&(this.yylineno-=a.length-1);var d=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===u.length?this.yylloc.first_column:0)+u[u.length-a.length].length-a[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[d[0],d[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(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var s=this.pastInput(),r=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/_nuxt/layout.m-I5JUDt.js b/_nuxt/layout.nII1iIDV.js similarity index 99% rename from _nuxt/layout.m-I5JUDt.js rename to _nuxt/layout.nII1iIDV.js index 282a7e01d9..46102c131e 100644 --- a/_nuxt/layout.m-I5JUDt.js +++ b/_nuxt/layout.nII1iIDV.js @@ -1 +1 @@ -import{B as H,C as fr,S as O,D as x,E as F,F as fn,G as dr,H as cr,I as hr,J as Te,K as lr,L as vr,M as dn,N as X,O as gr,P as Le,Q as pr,R as q,T as an,U as Cn,V as br,W as Ln,X as wr,Y as mr,Z as U,_ as In,$ as _r,a0 as Ae,a1 as Kn,a2 as Er,a3 as yr,a4 as Ne,a5 as V,a6 as Oe,a7 as xr,a8 as Pn,a9 as on,aa as Tr,ab as bn,ac as Lr,ad as B,ae as Xn,af as Vn,ag as An}from"./mermaid-934d9bea.A2NtSsGH.js";var Ar="[object Symbol]";function $(n){return typeof n=="symbol"||H(n)&&fr(n)==Ar}function M(n,e){for(var r=-1,t=n==null?0:n.length,i=Array(t);++r-1}function T(n){return fn(n)?dr(n):cr(n)}var qr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wr=/^\w*$/;function $n(n,e){if(x(n))return!1;var r=typeof n;return r=="number"||r=="symbol"||r=="boolean"||n==null||$(n)?!0:Wr.test(n)||!qr.test(n)||e!=null&&n in Object(e)}var jr=500;function Kr(n){var e=hr(n,function(t){return r.size===jr&&r.clear(),t}),r=e.cache;return e}var Xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vr=/\\(\\)?/g,Zr=Kr(function(n){var e=[];return n.charCodeAt(0)===46&&e.push(""),n.replace(Xr,function(r,t,i,a){e.push(i?a.replace(Vr,"$1"):t||r)}),e});function $e(n){return n==null?"":Ce(n)}function cn(n,e){return x(n)?n:$n(n,e)?[n]:Zr($e(n))}var Jr=1/0;function Z(n){if(typeof n=="string"||$(n))return n;var e=n+"";return e=="0"&&1/n==-Jr?"-0":e}function hn(n,e){e=cn(e,n);for(var r=0,t=e.length;n!=null&&r0&&r(u)?e>1?ln(u,e-1,r,t,i):Sn(i,u):t||(i[i.length]=u)}return i}function G(n){var e=n==null?0:n.length;return e?ln(n,1):[]}function nt(n){return lr(vr(n,void 0,G),n+"")}function et(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 h=-1,l=!0,g=r&xi?new W:void 0;for(a.set(n,e),a.set(e,n);++h2?e[2]:void 0;for(i&&on(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var ha=Math.max;function la(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:Gr(r);return i<0&&(i=ha(t+i,0)),Pe(n,C(e),i)}var kn=ca(la);function Ke(n,e){var r=-1,t=fn(n)?Array(n.length):[];return vn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function E(n,e){var r=x(n)?M:Ke;return r(n,C(e))}function va(n,e){return n==null?n:Oe(n,Gn(e),X)}function ga(n,e){return n&&Dn(n,Gn(e))}function pa(n,e){return n>e}var ba=Object.prototype,wa=ba.hasOwnProperty;function ma(n,e){return n!=null&&wa.call(n,e)}function b(n,e){return n!=null&&qe(n,e,ma)}function _a(n,e){return M(e,function(r){return n[r]})}function N(n){return n==null?[]:_a(n,T(n))}function y(n){return n===void 0}function Xe(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 Aa(n,e,r){e.length?e=M(e,function(a){return x(a)?function(o){return hn(o,a.length===1?a[0]:a)}:a}):e=[V];var t=-1;e=M(e,Cn(C));var i=Ke(n,function(a,o,u){var s=M(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return xa(i,function(a,o){return La(a,o,r)})}function Na(n,e){return ya(n,e,function(r,t){return We(n,t)})}var sn=nt(function(n,e){return n==null?{}:Na(n,e)}),Oa=Math.ceil,Ca=Math.max;function Ia(n,e,r,t){for(var i=-1,a=Ca(Oa((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Pa(n){return function(e,r,t){return t&&typeof t!="number"&&on(e,r,t)&&(r=t=void 0),e=rn(e),r===void 0?(r=e,e=0):r=rn(r),t=t===void 0?e1&&on(n,e[0],e[1])?e=[]:r>2&&on(e[0],e[1],e[2])&&(e=[e[0]]),Aa(n,ln(e,1),[])}),Sa=1/0,Ra=bn&&1/Mn(new bn([,-0]))[1]==Sa?function(n){return new bn(n)}:kr,Ma=200;function Fa(n,e,r){var t=-1,i=Hr,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=fa;else if(a>=Ma){var f=e?null:Ra(n);if(f)return Mn(f);o=!1,i=Be,s=new W}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]=P,this._children[e]={},this._children[P][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(y(r))r=P;else{r+="";for(var t=r;!y(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!==P)return r}}children(e){if(y(e)&&(e=P),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===P)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 Da(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 Xn(e)||(e=B(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return J(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,y(t)||(t=""+t);var u=Y(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!y(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=Ua(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,he(this._preds[r],e),he(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?mn(this._isDirected,arguments[0]):Y(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?mn(this._isDirected,arguments[0]):Y(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?mn(this._isDirected,arguments[0]):Y(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],le(this._preds[r],e),le(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?A(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?A(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))}}L.prototype._nodeCount=0;L.prototype._edgeCount=0;function he(n,e){n[e]?n[e]++:n[e]=1}function le(n,e){--n[e]||delete n[e]}function Y(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+ce+a+ce+(y(t)?Ya:t)}function Ua(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 mn(n,e){return Y(n,e.v,e.w,e.name)}class Ha{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return ve(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&ve(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,qa)),t=t._prev;return"["+e.join(", ")+"]"}}function ve(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function qa(n,e){if(n!=="_next"&&n!=="_prev")return e}var Wa=B(1);function ja(n,e){if(n.nodeCount()<=1)return[];var r=Xa(n,e||Wa),t=Ka(r.graph,r.buckets,r.zeroIdx);return G(E(t,function(i){return n.outEdges(i.v,i.w)}))}function Ka(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)_n(n,e,r,o);for(;o=i.dequeue();)_n(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(_n(n,e,r,o,!0));break}}}return t}function _n(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,On(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,On(e,r,f)}),n.removeNode(t.v),a}function Xa(n,e){var r=new L,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=D(i+t+3).map(function(){return new Ha}),o=t+1;return c(r.nodes(),function(u){On(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function On(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 Va(n){var e=n.graph().acyclicer==="greedy"?ja(n,r(n)):Za(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,Un("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Za(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 Ja(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=Un(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function Qa(n){var e=new L().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 Ve(n){var e=new L({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 ge(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 pn(n){var e=E(D(Ze(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;y(i)||(e[i][t.order]=r)}),e}function za(n){var e=j(E(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 no(n){var e=j(E(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){y(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function pe(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 Ze(n){return S(E(n.nodes(),function(e){var r=n.node(e).rank;if(!y(r))return r}))}function eo(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function ro(n,e){var r=de();try{return e()}finally{console.log(n+" time: "+(de()-r)+"ms")}}function to(n,e){return e()}function io(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=A(e.edges(),function(d){return s===me(n,n.node(d.v),u)&&s!==me(n,n.node(d.w),u)});return Yn(f,function(d){return K(e,d)})}function ar(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),Wn(n),qn(n,e),_o(n,e)}function _o(n,e){var r=kn(n.nodes(),function(i){return!e.node(i).parent}),t=wo(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 Eo(n,e,r){return n.hasEdge(e,r)}function me(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function yo(n){switch(n.graph().ranker){case"network-simplex":_e(n);break;case"tight-tree":To(n);break;case"longest-path":xo(n);break;default:_e(n)}}var xo=Hn;function To(n){Hn(n),Qe(n)}function _e(n){R(n)}function Lo(n){var e=k(n,"root",{},"_root"),r=Ao(n),t=S(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=No(n)+1;c(n.children(),function(o){or(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function or(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=pe(n,"_bt"),f=pe(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(h){or(n,e,r,t,i,a,h);var l=n.node(h),g=l.borderTop?l.borderTop:h,v=l.borderBottom?l.borderBottom:h,p=l.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 Ao(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 No(n){return J(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Oo(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 Co(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 Io(n,e,r){var t=Po(n),i=new L({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),h=y(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+h})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Po(n){for(var e;n.hasNode(e=Un("_root")););return e}function $o(n,e){for(var r=0,t=1;t0;)d%2&&(h+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*h})),s}function Ro(n){var e={},r=A(n.nodes(),function(u){return!n.children(u).length}),t=S(E(r,function(u){return n.node(u).rank})),i=E(D(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=Q(r,function(u){return n.node(u).rank});return c(o,a),i}function Mo(n,e){return E(e,function(r){var t=n.inEdges(r);if(t.length){var i=J(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 Fo(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};y(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!y(a)&&!y(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=A(r,function(i){return!i.indegree});return Do(t)}function Do(n){var e=[];function r(a){return function(o){o.merged||(y(o.barycenter)||y(a.barycenter)||o.barycenter>=a.barycenter)&&Go(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 E(A(e,function(a){return!a.merged}),function(a){return sn(a,["vs","i","barycenter","weight"])})}function Go(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 ko(n,e){var r=eo(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=Q(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(Bo(!!e)),s=Ee(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Ee(a,i,s)});var f={vs:G(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Ee(n,e,r){for(var t;e.length&&(t=un(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Bo(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function ur(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=A(i,function(v){return v!==o&&v!==u}));var f=Mo(n,i);c(f,function(v){if(n.children(v.v).length){var p=ur(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&Uo(v,p)}});var d=Fo(f,r);Yo(d,s);var h=ko(d,t);if(o&&(h.vs=G([o,h.vs,u]),n.predecessors(o).length)){var l=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+g.order)/(h.weight+2),h.weight+=2}return h}function Yo(n,e){c(n,function(r){r.vs=G(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Uo(n,e){y(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 Ho(n){var e=Ze(n),r=ye(n,D(1,e+1),"inEdges"),t=ye(n,D(e-1,-1,-1),"outEdges"),i=Ro(n);xe(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){qo(u%2?r:t,u%4>=2),i=pn(n);var f=$o(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 Ko(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 Xo(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=un(a);return c(a,function(d,h){var l=Zo(n,d),g=l?n.node(l).order:s;(l||d===f)&&(c(a.slice(u,h+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),_=m.order;(_f)&&sr(r,l,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,h){if(n.node(d).dummy==="border"){var l=n.predecessors(d);l.length&&(s=n.node(l[0]).order,t(o,f,h,u,s),f=h,u=s)}t(o,f,o.length,s,a.length)}),o}return J(e,i),r}function Zo(n,e){if(n.node(e).dummy)return kn(n.predecessors(e),function(r){return n.node(r).dummy})}function sr(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 Jo(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function Qo(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=Q(d,function(p){return o[p]});for(var h=(d.length-1)/2,l=Math.floor(h),g=Math.ceil(h);l<=g;++l){var v=d[l];a[f]===f&&s-1}function T(n){return fn(n)?dr(n):cr(n)}var qr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wr=/^\w*$/;function $n(n,e){if(x(n))return!1;var r=typeof n;return r=="number"||r=="symbol"||r=="boolean"||n==null||$(n)?!0:Wr.test(n)||!qr.test(n)||e!=null&&n in Object(e)}var jr=500;function Kr(n){var e=hr(n,function(t){return r.size===jr&&r.clear(),t}),r=e.cache;return e}var Xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vr=/\\(\\)?/g,Zr=Kr(function(n){var e=[];return n.charCodeAt(0)===46&&e.push(""),n.replace(Xr,function(r,t,i,a){e.push(i?a.replace(Vr,"$1"):t||r)}),e});function $e(n){return n==null?"":Ce(n)}function cn(n,e){return x(n)?n:$n(n,e)?[n]:Zr($e(n))}var Jr=1/0;function Z(n){if(typeof n=="string"||$(n))return n;var e=n+"";return e=="0"&&1/n==-Jr?"-0":e}function hn(n,e){e=cn(e,n);for(var r=0,t=e.length;n!=null&&r0&&r(u)?e>1?ln(u,e-1,r,t,i):Sn(i,u):t||(i[i.length]=u)}return i}function G(n){var e=n==null?0:n.length;return e?ln(n,1):[]}function nt(n){return lr(vr(n,void 0,G),n+"")}function et(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 h=-1,l=!0,g=r&xi?new W:void 0;for(a.set(n,e),a.set(e,n);++h2?e[2]:void 0;for(i&&on(e[0],e[1],i)&&(t=1);++r-1?i[a?e[o]:o]:void 0}}var ha=Math.max;function la(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:Gr(r);return i<0&&(i=ha(t+i,0)),Pe(n,C(e),i)}var kn=ca(la);function Ke(n,e){var r=-1,t=fn(n)?Array(n.length):[];return vn(n,function(i,a,o){t[++r]=e(i,a,o)}),t}function E(n,e){var r=x(n)?M:Ke;return r(n,C(e))}function va(n,e){return n==null?n:Oe(n,Gn(e),X)}function ga(n,e){return n&&Dn(n,Gn(e))}function pa(n,e){return n>e}var ba=Object.prototype,wa=ba.hasOwnProperty;function ma(n,e){return n!=null&&wa.call(n,e)}function b(n,e){return n!=null&&qe(n,e,ma)}function _a(n,e){return M(e,function(r){return n[r]})}function N(n){return n==null?[]:_a(n,T(n))}function y(n){return n===void 0}function Xe(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 Aa(n,e,r){e.length?e=M(e,function(a){return x(a)?function(o){return hn(o,a.length===1?a[0]:a)}:a}):e=[V];var t=-1;e=M(e,Cn(C));var i=Ke(n,function(a,o,u){var s=M(e,function(f){return f(a)});return{criteria:s,index:++t,value:a}});return xa(i,function(a,o){return La(a,o,r)})}function Na(n,e){return ya(n,e,function(r,t){return We(n,t)})}var sn=nt(function(n,e){return n==null?{}:Na(n,e)}),Oa=Math.ceil,Ca=Math.max;function Ia(n,e,r,t){for(var i=-1,a=Ca(Oa((e-n)/(r||1)),0),o=Array(a);a--;)o[t?a:++i]=n,n+=r;return o}function Pa(n){return function(e,r,t){return t&&typeof t!="number"&&on(e,r,t)&&(r=t=void 0),e=rn(e),r===void 0?(r=e,e=0):r=rn(r),t=t===void 0?e1&&on(n,e[0],e[1])?e=[]:r>2&&on(e[0],e[1],e[2])&&(e=[e[0]]),Aa(n,ln(e,1),[])}),Sa=1/0,Ra=bn&&1/Mn(new bn([,-0]))[1]==Sa?function(n){return new bn(n)}:kr,Ma=200;function Fa(n,e,r){var t=-1,i=Hr,a=n.length,o=!0,u=[],s=u;if(r)o=!1,i=fa;else if(a>=Ma){var f=e?null:Ra(n);if(f)return Mn(f);o=!1,i=Be,s=new W}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]=P,this._children[e]={},this._children[P][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(y(r))r=P;else{r+="";for(var t=r;!y(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!==P)return r}}children(e){if(y(e)&&(e=P),this._isCompound){var r=this._children[e];if(r)return T(r)}else{if(e===P)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 Da(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 Xn(e)||(e=B(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return N(this._edgeObjs)}setPath(e,r){var t=this,i=arguments;return J(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,y(t)||(t=""+t);var u=Y(this._isDirected,e,r,t);if(b(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!y(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=Ua(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[u]=s,he(this._preds[r],e),he(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?mn(this._isDirected,arguments[0]):Y(this._isDirected,e,r,t);return this._edgeLabels[i]}hasEdge(e,r,t){var i=arguments.length===1?mn(this._isDirected,arguments[0]):Y(this._isDirected,e,r,t);return b(this._edgeLabels,i)}removeEdge(e,r,t){var i=arguments.length===1?mn(this._isDirected,arguments[0]):Y(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],le(this._preds[r],e),le(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?A(i,function(a){return a.v===r}):i}}outEdges(e,r){var t=this._out[e];if(t){var i=N(t);return r?A(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))}}L.prototype._nodeCount=0;L.prototype._edgeCount=0;function he(n,e){n[e]?n[e]++:n[e]=1}function le(n,e){--n[e]||delete n[e]}function Y(n,e,r,t){var i=""+e,a=""+r;if(!n&&i>a){var o=i;i=a,a=o}return i+ce+a+ce+(y(t)?Ya:t)}function Ua(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 mn(n,e){return Y(n,e.v,e.w,e.name)}class Ha{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return ve(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&ve(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,qa)),t=t._prev;return"["+e.join(", ")+"]"}}function ve(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function qa(n,e){if(n!=="_next"&&n!=="_prev")return e}var Wa=B(1);function ja(n,e){if(n.nodeCount()<=1)return[];var r=Xa(n,e||Wa),t=Ka(r.graph,r.buckets,r.zeroIdx);return G(E(t,function(i){return n.outEdges(i.v,i.w)}))}function Ka(n,e,r){for(var t=[],i=e[e.length-1],a=e[0],o;n.nodeCount();){for(;o=a.dequeue();)_n(n,e,r,o);for(;o=i.dequeue();)_n(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(_n(n,e,r,o,!0));break}}}return t}function _n(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,On(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,On(e,r,f)}),n.removeNode(t.v),a}function Xa(n,e){var r=new L,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=D(i+t+3).map(function(){return new Ha}),o=t+1;return c(r.nodes(),function(u){On(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function On(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 Va(n){var e=n.graph().acyclicer==="greedy"?ja(n,r(n)):Za(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,Un("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Za(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 Ja(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=Un(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function Qa(n){var e=new L().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 Ve(n){var e=new L({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 ge(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 pn(n){var e=E(D(Ze(n)+1),function(){return[]});return c(n.nodes(),function(r){var t=n.node(r),i=t.rank;y(i)||(e[i][t.order]=r)}),e}function za(n){var e=j(E(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 no(n){var e=j(E(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){y(a)&&o%i!==0?--t:t&&c(a,function(u){n.node(u).rank+=t})})}function pe(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 Ze(n){return S(E(n.nodes(),function(e){var r=n.node(e).rank;if(!y(r))return r}))}function eo(n,e){var r={lhs:[],rhs:[]};return c(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function ro(n,e){var r=de();try{return e()}finally{console.log(n+" time: "+(de()-r)+"ms")}}function to(n,e){return e()}function io(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=A(e.edges(),function(d){return s===me(n,n.node(d.v),u)&&s!==me(n,n.node(d.w),u)});return Yn(f,function(d){return K(e,d)})}function ar(n,e,r,t){var i=r.v,a=r.w;n.removeEdge(i,a),n.setEdge(t.v,t.w,{}),Wn(n),qn(n,e),_o(n,e)}function _o(n,e){var r=kn(n.nodes(),function(i){return!e.node(i).parent}),t=wo(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 Eo(n,e,r){return n.hasEdge(e,r)}function me(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function yo(n){switch(n.graph().ranker){case"network-simplex":_e(n);break;case"tight-tree":To(n);break;case"longest-path":xo(n);break;default:_e(n)}}var xo=Hn;function To(n){Hn(n),Qe(n)}function _e(n){R(n)}function Lo(n){var e=k(n,"root",{},"_root"),r=Ao(n),t=S(N(r))-1,i=2*t+1;n.graph().nestingRoot=e,c(n.edges(),function(o){n.edge(o).minlen*=i});var a=No(n)+1;c(n.children(),function(o){or(n,e,i,a,t,r,o)}),n.graph().nodeRankFactor=i}function or(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=pe(n,"_bt"),f=pe(n,"_bb"),d=n.node(o);n.setParent(s,o),d.borderTop=s,n.setParent(f,o),d.borderBottom=f,c(u,function(h){or(n,e,r,t,i,a,h);var l=n.node(h),g=l.borderTop?l.borderTop:h,v=l.borderBottom?l.borderBottom:h,p=l.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 Ao(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 No(n){return J(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Oo(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 Co(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 Io(n,e,r){var t=Po(n),i=new L({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),h=y(d)?0:d.weight;i.setEdge(f,a,{weight:n.edge(s).weight+h})}),b(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function Po(n){for(var e;n.hasNode(e=Un("_root")););return e}function $o(n,e){for(var r=0,t=1;t0;)d%2&&(h+=u[d+1]),d=d-1>>1,u[d]+=f.weight;s+=f.weight*h})),s}function Ro(n){var e={},r=A(n.nodes(),function(u){return!n.children(u).length}),t=S(E(r,function(u){return n.node(u).rank})),i=E(D(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=Q(r,function(u){return n.node(u).rank});return c(o,a),i}function Mo(n,e){return E(e,function(r){var t=n.inEdges(r);if(t.length){var i=J(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 Fo(n,e){var r={};c(n,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};y(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),c(e.edges(),function(i){var a=r[i.v],o=r[i.w];!y(a)&&!y(o)&&(o.indegree++,a.out.push(r[i.w]))});var t=A(r,function(i){return!i.indegree});return Do(t)}function Do(n){var e=[];function r(a){return function(o){o.merged||(y(o.barycenter)||y(a.barycenter)||o.barycenter>=a.barycenter)&&Go(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 E(A(e,function(a){return!a.merged}),function(a){return sn(a,["vs","i","barycenter","weight"])})}function Go(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 ko(n,e){var r=eo(n,function(d){return b(d,"barycenter")}),t=r.lhs,i=Q(r.rhs,function(d){return-d.i}),a=[],o=0,u=0,s=0;t.sort(Bo(!!e)),s=Ee(a,i,s),c(t,function(d){s+=d.vs.length,a.push(d.vs),o+=d.barycenter*d.weight,u+=d.weight,s=Ee(a,i,s)});var f={vs:G(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function Ee(n,e,r){for(var t;e.length&&(t=un(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Bo(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function ur(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=A(i,function(v){return v!==o&&v!==u}));var f=Mo(n,i);c(f,function(v){if(n.children(v.v).length){var p=ur(n,v.v,r,t);s[v.v]=p,b(p,"barycenter")&&Uo(v,p)}});var d=Fo(f,r);Yo(d,s);var h=ko(d,t);if(o&&(h.vs=G([o,h.vs,u]),n.predecessors(o).length)){var l=n.node(n.predecessors(o)[0]),g=n.node(n.predecessors(u)[0]);b(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+g.order)/(h.weight+2),h.weight+=2}return h}function Yo(n,e){c(n,function(r){r.vs=G(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Uo(n,e){y(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 Ho(n){var e=Ze(n),r=ye(n,D(1,e+1),"inEdges"),t=ye(n,D(e-1,-1,-1),"outEdges"),i=Ro(n);xe(n,i);for(var a=Number.POSITIVE_INFINITY,o,u=0,s=0;s<4;++u,++s){qo(u%2?r:t,u%4>=2),i=pn(n);var f=$o(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 Ko(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 Xo(n,e){var r={};function t(i,a){var o=0,u=0,s=i.length,f=un(a);return c(a,function(d,h){var l=Zo(n,d),g=l?n.node(l).order:s;(l||d===f)&&(c(a.slice(u,h+1),function(v){c(n.predecessors(v),function(p){var m=n.node(p),_=m.order;(_f)&&sr(r,l,d)})})}function i(a,o){var u=-1,s,f=0;return c(o,function(d,h){if(n.node(d).dummy==="border"){var l=n.predecessors(d);l.length&&(s=n.node(l[0]).order,t(o,f,h,u,s),f=h,u=s)}t(o,f,o.length,s,a.length)}),o}return J(e,i),r}function Zo(n,e){if(n.node(e).dummy)return kn(n.predecessors(e),function(r){return n.node(r).dummy})}function sr(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 Jo(n,e,r){if(e>r){var t=e;e=r,r=t}return b(n[e],r)}function Qo(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=Q(d,function(p){return o[p]});for(var h=(d.length-1)/2,l=Math.floor(h),g=Math.ceil(h);l<=g;++l){var v=d[l];a[f]===f&&st?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function R(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=R(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.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 Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+R(n,Math.max(0,t+f-1))[0]}function Y(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[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 Z={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Y(n*100,t),r:Y,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function En(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,T=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(T=!0,d="g"):Z[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=Z[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;Rn({thousands:",",grouping:[3],currency:["$",""]});function Rn(n){return F=En(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function In(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Hn(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=In(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Un(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Hn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Yn(){var n=Xn();return n.copy=function(){return On(n,Yn())},cn.apply(n,arguments),Un(n)}export{On as a,_ as b,Xn as c,Yn as l,wn as t}; +import{aD as un,aE as I,aF as H,aG as U,aH as fn}from"./mermaid-934d9bea.1859dh9d.js";import{i as cn}from"./init.Hi12RPRh.js";function $(n,t){return n==null||t==null?NaN:nt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function R(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=R(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.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 Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+R(n,Math.max(0,t+f-1))[0]}function Y(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[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 Z={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Y(n*100,t),r:Y,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function En(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,T=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(T=!0,d="g"):Z[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=Z[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;Rn({thousands:",",grouping:[3],currency:["$",""]});function Rn(n){return F=En(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function In(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Hn(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=In(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Un(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Hn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Yn(){var n=Xn();return n.copy=function(){return On(n,Yn())},cn.apply(n,arguments),Un(n)}export{On as a,_ as b,Xn as c,Yn as l,wn as t}; diff --git a/_nuxt/mermaid-934d9bea.A2NtSsGH.js b/_nuxt/mermaid-934d9bea.1859dh9d.js similarity index 98% rename from _nuxt/mermaid-934d9bea.A2NtSsGH.js rename to _nuxt/mermaid-934d9bea.1859dh9d.js index 107280bca5..f14913117f 100644 --- a/_nuxt/mermaid-934d9bea.A2NtSsGH.js +++ b/_nuxt/mermaid-934d9bea.1859dh9d.js @@ -1,4 +1,4 @@ -import{_ as Z}from"./entry.q1HaRjkf.js";import{c as lh,g as hh}from"./_commonjsHelpers.5-cIlDoe.js";function ch(t){for(var e=[],i=1;i=v?M:""+Array(v+1-E.length).join(C)+M},H={s:z,z:function(M){var v=-M.utcOffset(),C=Math.abs(v),E=Math.floor(C/60),x=C%60;return(v<=0?"+":"-")+z(E,2,"0")+":"+z(x,2,"0")},m:function M(v,C){if(v.date()1)return M(b[0])}else{var j=v.name;X[j]=v,x=j}return!E&&x&&(Y=x),x||!E&&Y},K=function(M,v){if(W(M))return M.clone();var C=typeof v=="object"?v:{};return C.date=M,C.args=arguments,new Ft(C)},D=H;D.l=Nt,D.i=W,D.w=function(M,v){return K(M,{locale:v.$L,utc:v.$u,x:v.$x,$offset:v.$offset})};var Ft=function(){function M(C){this.$L=Nt(C.locale,null,!0),this.parse(C)}var v=M.prototype;return v.parse=function(C){this.$d=function(E){var x=E.date,I=E.utc;if(x===null)return new Date(NaN);if(D.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var b=x.match(S);if(b){var j=b[2]-1||0,R=(b[7]||"0").substring(0,3);return I?new Date(Date.UTC(b[1],j,b[3]||1,b[4]||0,b[5]||0,b[6]||0,R)):new Date(b[1],j,b[3]||1,b[4]||0,b[5]||0,b[6]||0,R)}}return new Date(x)}(C),this.$x=C.x||{},this.init()},v.init=function(){var C=this.$d;this.$y=C.getFullYear(),this.$M=C.getMonth(),this.$D=C.getDate(),this.$W=C.getDay(),this.$H=C.getHours(),this.$m=C.getMinutes(),this.$s=C.getSeconds(),this.$ms=C.getMilliseconds()},v.$utils=function(){return D},v.isValid=function(){return this.$d.toString()!==k},v.isSame=function(C,E){var x=K(C);return this.startOf(E)<=x&&x<=this.endOf(E)},v.isAfter=function(C,E){return K(C)-1}function l(u){var f=u.replace(n,"");return f.replace(i,function(c,d){return String.fromCharCode(d)})}function h(u){if(!u)return t.BLANK_URL;var f=l(u).replace(r,"").replace(n,"").trim();if(!f)return t.BLANK_URL;if(a(f))return f;var c=f.match(o);if(!c)return f;var d=c[0];return e.test(d)?t.BLANK_URL:f}t.sanitizeUrl=h})(Ms);var dh={value:()=>{}};function Is(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}Oi.prototype=Is.prototype={constructor:Oi,on:function(t,e){var i=this._,r=ph(t+"",i),n,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),To.hasOwnProperty(e)?{space:To[e],local:t}:t}function mh(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===Qr&&e.documentElement.namespaceURI===Qr?e.createElement(t):e.createElementNS(i,t)}}function _h(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function $s(t){var e=cr(t);return(e.local?_h:mh)(e)}function yh(){}function Tn(t){return t==null?yh:function(){return this.querySelector(t)}}function Ch(t){typeof t!="function"&&(t=Tn(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=z&&(z=T+1);!(Y=S[z])&&++z<_;);H._next=Y||null}}return s=new Ct(s,r),s._enter=a,s._exit=l,s}function Ph(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function qh(){return new Ct(this._exit||this._groups.map(Ps),this._parents)}function zh(t,e,i){var r=this.enter(),n=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),i==null?o.remove():i(o),r&&n?r.merge(n).order():n}function Wh(t){for(var e=t.selection?t.selection():t,i=this._groups,r=e._groups,n=i.length,o=r.length,s=Math.min(n,o),a=new Array(n),l=0;l=0;)(s=r[n])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function jh(t){t||(t=Uh);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function Yh(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Vh(){return Array.from(this)}function Gh(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?oc:typeof e=="function"?ac:sc)(t,e,i??"")):Ee(this.node(),t)}function Ee(t,e){return t.style.getPropertyValue(e)||qs(t).getComputedStyle(t,null).getPropertyValue(e)}function hc(t){return function(){delete this[t]}}function cc(t,e){return function(){this[t]=e}}function uc(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function fc(t,e){return arguments.length>1?this.each((e==null?hc:typeof e=="function"?uc:cc)(t,e)):this.node()[t]}function zs(t){return t.trim().split(/^|\s+/)}function vn(t){return t.classList||new Ws(t)}function Ws(t){this._node=t,this._names=zs(t.getAttribute("class")||"")}Ws.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Hs(t,e){for(var i=vn(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function qc(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?ki(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?ki(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Xc.exec(t))?new gt(e[1],e[2],e[3],1):(e=Kc.exec(t))?new gt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Zc.exec(t))?ki(e[1],e[2],e[3],e[4]):(e=Jc.exec(t))?ki(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Qc.exec(t))?Fo(e[1],e[2]/100,e[3]/100,1):(e=tu.exec(t))?Fo(e[1],e[2]/100,e[3]/100,e[4]):vo.hasOwnProperty(t)?wo(vo[t]):t==="transparent"?new gt(NaN,NaN,NaN,0):null}function wo(t){return new gt(t>>16&255,t>>8&255,t&255,1)}function ki(t,e,i,r){return r<=0&&(t=e=i=NaN),new gt(t,e,i,r)}function ru(t){return t instanceof gi||(t=si(t)),t?(t=t.rgb(),new gt(t.r,t.g,t.b,t.opacity)):new gt}function tn(t,e,i,r){return arguments.length===1?ru(t):new gt(t,e,i,r??1)}function gt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}kn(gt,tn,Vs(gi,{brighter(t){return t=t==null?Wi:Math.pow(Wi,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ni:Math.pow(ni,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gt(ue(this.r),ue(this.g),ue(this.b),Hi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bo,formatHex:Bo,formatHex8:nu,formatRgb:Ao,toString:Ao}));function Bo(){return`#${he(this.r)}${he(this.g)}${he(this.b)}`}function nu(){return`#${he(this.r)}${he(this.g)}${he(this.b)}${he((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ao(){const t=Hi(this.opacity);return`${t===1?"rgb(":"rgba("}${ue(this.r)}, ${ue(this.g)}, ${ue(this.b)}${t===1?")":`, ${t})`}`}function Hi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ue(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function he(t){return t=ue(t),(t<16?"0":"")+t.toString(16)}function Fo(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new St(t,e,i,r)}function Gs(t){if(t instanceof St)return new St(t.h,t.s,t.l,t.opacity);if(t instanceof gi||(t=si(t)),!t)return new St;if(t instanceof St)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),s=NaN,a=o-n,l=(o+n)/2;return a?(e===o?s=(i-r)/a+(i0&&l<1?0:s,new St(s,a,l,t.opacity)}function ou(t,e,i,r){return arguments.length===1?Gs(t):new St(t,e,i,r??1)}function St(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}kn(St,ou,Vs(gi,{brighter(t){return t=t==null?Wi:Math.pow(Wi,t),new St(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ni:Math.pow(ni,t),new St(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new gt(Nr(t>=240?t-240:t+120,n,r),Nr(t,n,r),Nr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new St(Lo(this.h),Si(this.s),Si(this.l),Hi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Hi(this.opacity);return`${t===1?"hsl(":"hsla("}${Lo(this.h)}, ${Si(this.s)*100}%, ${Si(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Lo(t){return t=(t||0)%360,t<0?t+360:t}function Si(t){return Math.max(0,Math.min(1,t||0))}function Nr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const Sn=t=>()=>t;function Xs(t,e){return function(i){return t+i*e}}function su(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function pb(t,e){var i=e-t;return i?Xs(t,i>180||i<-180?i-360*Math.round(i/360):i):Sn(isNaN(t)?e:t)}function au(t){return(t=+t)==1?Ks:function(e,i){return i-e?su(e,i,t):Sn(isNaN(e)?i:e)}}function Ks(t,e){var i=e-t;return i?Xs(t,i):Sn(isNaN(t)?e:t)}const Eo=function t(e){var i=au(e);function r(n,o){var s=i((n=tn(n)).r,(o=tn(o)).r),a=i(n.g,o.g),l=i(n.b,o.b),h=Ks(n.opacity,o.opacity);return function(u){return n.r=s(u),n.g=a(u),n.b=l(u),n.opacity=h(u),n+""}}return r.gamma=t,r}(1);function te(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var en=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Rr=new RegExp(en.source,"g");function lu(t){return function(){return t}}function hu(t){return function(e){return t(e)+""}}function cu(t,e){var i=en.lastIndex=Rr.lastIndex=0,r,n,o,s=-1,a=[],l=[];for(t=t+"",e=e+"";(r=en.exec(t))&&(n=Rr.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(n=n[0])?a[s]?a[s]+=n:a[++s]=n:(a[++s]=null,l.push({i:s,x:te(r,n)})),i=Rr.lastIndex;return i180?u+=360:u-h>180&&(h+=360),c.push({i:f.push(n(f)+"rotate(",null,r)-2,x:te(h,u)})):u&&f.push(n(f)+"rotate("+u+r)}function a(h,u,f,c){h!==u?c.push({i:f.push(n(f)+"skewX(",null,r)-2,x:te(h,u)}):u&&f.push(n(f)+"skewX("+u+r)}function l(h,u,f,c,d,_){if(h!==f||u!==c){var k=d.push(n(d)+"scale(",null,",",null,")");_.push({i:k-4,x:te(h,f)},{i:k-2,x:te(u,c)})}else(f!==1||c!==1)&&d.push(n(d)+"scale("+f+","+c+")")}return function(h,u){var f=[],c=[];return h=t(h),u=t(u),o(h.translateX,h.translateY,u.translateX,u.translateY,f,c),s(h.rotate,u.rotate,f,c),a(h.skewX,u.skewX,f,c),l(h.scaleX,h.scaleY,u.scaleX,u.scaleY,f,c),h=u=null,function(d){for(var _=-1,k=c.length,S;++_=0&&t._call.call(void 0,e),t=t._next;--Oe}function Mo(){pe=(Ui=ai.now())+ur,Oe=Ge=0;try{mu()}finally{Oe=0,yu(),pe=0}}function _u(){var t=ai.now(),e=t-Ui;e>Qs&&(ur-=e,Ui=t)}function yu(){for(var t,e=ji,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:ji=i);Xe=t,nn(r)}function nn(t){if(!Oe){Ge&&(Ge=clearTimeout(Ge));var e=t-pe;e>24?(t<1/0&&(Ge=setTimeout(Mo,t-ai.now()-ur)),He&&(He=clearInterval(He))):(He||(Ui=ai.now(),He=setInterval(_u,Qs)),Oe=1,ta(Mo))}}function Io(t,e,i){var r=new Yi;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var Cu=Is("start","end","cancel","interrupt"),xu=[],ia=0,$o=1,on=2,Mi=3,Do=4,sn=5,Ii=6;function fr(t,e,i,r,n,o){var s=t.__transition;if(!s)t.__transition={};else if(i in s)return;bu(t,i,{name:e,index:r,group:n,on:Cu,tween:xu,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:ia})}function Bn(t,e){var i=At(t,e);if(i.state>ia)throw new Error("too late; already scheduled");return i}function $t(t,e){var i=At(t,e);if(i.state>Mi)throw new Error("too late; already running");return i}function At(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function bu(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=ea(o,0,i.time);function o(h){i.state=$o,i.timer.restart(s,i.delay,i.time),i.delay<=h&&s(h-i.delay)}function s(h){var u,f,c,d;if(i.state!==$o)return l();for(u in r)if(d=r[u],d.name===i.name){if(d.state===Mi)return Io(s);d.state===Do?(d.state=Ii,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[u]):+uon&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function Ju(t,e,i){var r,n,o=Zu(e)?Bn:$t;return function(){var s=o(this,t),a=s.on;a!==r&&(n=(r=a).copy()).on(e,i),s.on=n}}function Qu(t,e){var i=this._id;return arguments.length<2?At(this.node(),i).on.on(t):this.each(Ju(i,t,e))}function tf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function ef(){return this.on("end.remove",tf(this._id))}function rf(t){var e=this._name,i=this._id;typeof t!="function"&&(t=Tn(t));for(var r=this._groups,n=r.length,o=new Array(n),s=0;s1?0:t<-1?Fn:Math.acos(t)}function kb(t){return t>=1?Ro:t<=-1?-Ro:Math.asin(t)}function sa(t){this._context=t}sa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Af(t){return new sa(t)}class aa{constructor(e,i){this._context=e,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function Ff(t){return new aa(t,!0)}function Lf(t){return new aa(t,!1)}function ie(){}function Vi(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function dr(t){this._context=t}dr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Vi(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Vi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Ef(t){return new dr(t)}function la(t){this._context=t}la.prototype={areaStart:ie,areaEnd:ie,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Vi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Of(t){return new la(t)}function ha(t){this._context=t}ha.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Vi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Mf(t){return new ha(t)}function ca(t,e){this._basis=new dr(t),this._beta=e}ca.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,s=e[i]-n,a=-1,l;++a<=i;)l=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+l*o),this._beta*e[a]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const If=function t(e){function i(r){return e===1?new dr(r):new ca(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function Gi(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function Ln(t,e){this._context=t,this._k=(1-e)/6}Ln.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Gi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Gi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const $f=function t(e){function i(r){return new Ln(r,e)}return i.tension=function(r){return t(+r)},i}(0);function En(t,e){this._context=t,this._k=(1-e)/6}En.prototype={areaStart:ie,areaEnd:ie,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Gi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Df=function t(e){function i(r){return new En(r,e)}return i.tension=function(r){return t(+r)},i}(0);function On(t,e){this._context=t,this._k=(1-e)/6}On.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Nf=function t(e){function i(r){return new On(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Mn(t,e,i){var r=t._x1,n=t._y1,o=t._x2,s=t._y2;if(t._l01_a>No){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>No){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,o,s,t._x2,t._y2)}function ua(t,e){this._context=t,this._alpha=e}ua.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Mn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Rf=function t(e){function i(r){return e?new ua(r,e):new Ln(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function fa(t,e){this._context=t,this._alpha=e}fa.prototype={areaStart:ie,areaEnd:ie,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Mn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Pf=function t(e){function i(r){return e?new fa(r,e):new En(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function da(t,e){this._context=t,this._alpha=e}da.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Mn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const qf=function t(e){function i(r){return e?new da(r,e):new On(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function pa(t){this._context=t}pa.prototype={areaStart:ie,areaEnd:ie,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function zf(t){return new pa(t)}function Po(t){return t<0?-1:1}function qo(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),s=(i-t._y1)/(n||r<0&&-0),a=(o*n+s*r)/(r+n);return(Po(o)+Po(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function zo(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function Pr(t,e,i){var r=t._x0,n=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,n+a*e,o-a,s-a*i,o,s)}function Xi(t){this._context=t}Xi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Pr(this,this._t0,zo(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Pr(this,zo(this,i=qo(this,t,e)),i);break;default:Pr(this,this._t0,i=qo(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function ga(t){this._context=new ma(t)}(ga.prototype=Object.create(Xi.prototype)).point=function(t,e){Xi.prototype.point.call(this,e,t)};function ma(t){this._context=t}ma.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function Wf(t){return new Xi(t)}function Hf(t){return new ga(t)}function _a(t){this._context=t}_a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Wo(t),n=Wo(e),o=0,s=1;s=0;--e)n[e]=(s[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function Uf(t){return new pr(t,.5)}function Yf(t){return new pr(t,0)}function Vf(t){return new pr(t,1)}function Ke(t,e,i){this.k=t,this.x=e,this.y=i}Ke.prototype={constructor:Ke,scale:function(t){return t===1?this:new Ke(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ke(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Ke.prototype;/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */const{entries:ya,setPrototypeOf:Ho,isFrozen:Gf,getPrototypeOf:Xf,getOwnPropertyDescriptor:Ca}=Object;let{freeze:ct,seal:Bt,create:xa}=Object,{apply:an,construct:ln}=typeof Reflect<"u"&&Reflect;ct||(ct=function(e){return e});Bt||(Bt=function(e){return e});an||(an=function(e,i,r){return e.apply(i,r)});ln||(ln=function(e,i){return new e(...i)});const Bi=Tt(Array.prototype.forEach),jo=Tt(Array.prototype.pop),je=Tt(Array.prototype.push),$i=Tt(String.prototype.toLowerCase),qr=Tt(String.prototype.toString),Kf=Tt(String.prototype.match),Ue=Tt(String.prototype.replace),Zf=Tt(String.prototype.indexOf),Jf=Tt(String.prototype.trim),yt=Tt(RegExp.prototype.test),Ye=Qf(TypeError);function Tt(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:$i;Ho&&Ho(t,null);let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){const o=i(n);o!==n&&(Gf(e)||(e[r]=o),n=o)}t[n]=!0}return t}function Se(t){const e=xa(null);for(const[i,r]of ya(t))Ca(t,i)!==void 0&&(e[i]=r);return e}function Ai(t,e){for(;t!==null;){const r=Ca(t,e);if(r){if(r.get)return Tt(r.get);if(typeof r.value=="function")return Tt(r.value)}t=Xf(t)}function i(r){return console.warn("fallback value for",r),null}return i}const Uo=ct(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),zr=ct(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Wr=ct(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),td=ct(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Hr=ct(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ed=ct(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yo=ct(["#text"]),Vo=ct(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),jr=ct(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Go=ct(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fi=ct(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),id=Bt(/\{\{[\w\W]*|[\w\W]*\}\}/gm),rd=Bt(/<%[\w\W]*|[\w\W]*%>/gm),nd=Bt(/\${[\w\W]*}/gm),od=Bt(/^data-[\-\w.\u00B7-\uFFFF]/),sd=Bt(/^aria-[\-\w]+$/),ba=Bt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ad=Bt(/^(?:\w+script|data):/i),ld=Bt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ta=Bt(/^html$/i);var Xo=Object.freeze({__proto__:null,MUSTACHE_EXPR:id,ERB_EXPR:rd,TMPLIT_EXPR:nd,DATA_ATTR:od,ARIA_ATTR:sd,IS_ALLOWED_URI:ba,IS_SCRIPT_OR_DATA:ad,ATTR_WHITESPACE:ld,DOCTYPE_NAME:Ta});const hd=function(){return typeof window>"u"?null:window},cd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function va(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hd();const e=B=>va(B);if(e.version="3.0.6",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;let{document:i}=t;const r=i,n=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:h,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:f,DOMParser:c,trustedTypes:d}=t,_=l.prototype,k=Ai(_,"cloneNode"),S=Ai(_,"nextSibling"),P=Ai(_,"childNodes"),T=Ai(_,"parentNode");if(typeof s=="function"){const B=i.createElement("template");B.content&&B.content.ownerDocument&&(i=B.content.ownerDocument)}let z,H="";const{implementation:Y,createNodeIterator:X,createDocumentFragment:W,getElementsByTagName:Nt}=i,{importNode:K}=r;let D={};e.isSupported=typeof ya=="function"&&typeof T=="function"&&Y&&Y.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ft,ERB_EXPR:Rt,TMPLIT_EXPR:M,DATA_ATTR:v,ARIA_ATTR:C,IS_SCRIPT_OR_DATA:E,ATTR_WHITESPACE:x}=Xo;let{IS_ALLOWED_URI:I}=Xo,b=null;const j=N({},[...Uo,...zr,...Wr,...Hr,...Yo]);let R=null;const V=N({},[...Vo,...jr,...Go,...Fi]);let q=Object.seal(xa(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ut=null,_t=null,Zt=!0,Pt=!0,qt=!1,et=!0,at=!1,kt=!1,Jt=!1,Fr=!1,xe=!1,Ci=!1,xi=!1,io=!0,ro=!1;const Ql="user-content-";let Lr=!0,ze=!1,be={},Te=null;const no=N({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let oo=null;const so=N({},["audio","video","img","source","image","track"]);let Er=null;const ao=N({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),bi="http://www.w3.org/1998/Math/MathML",Ti="http://www.w3.org/2000/svg",zt="http://www.w3.org/1999/xhtml";let ve=zt,Or=!1,Mr=null;const th=N({},[bi,Ti,zt],qr);let oe=null;const eh=["application/xhtml+xml","text/html"],ih="text/html";let tt=null,ke=null;const rh=i.createElement("form"),lo=function(p){return p instanceof RegExp||p instanceof Function},Ir=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ke&&ke===p)){if((!p||typeof p!="object")&&(p={}),p=Se(p),oe=eh.indexOf(p.PARSER_MEDIA_TYPE)===-1?oe=ih:oe=p.PARSER_MEDIA_TYPE,tt=oe==="application/xhtml+xml"?qr:$i,b="ALLOWED_TAGS"in p?N({},p.ALLOWED_TAGS,tt):j,R="ALLOWED_ATTR"in p?N({},p.ALLOWED_ATTR,tt):V,Mr="ALLOWED_NAMESPACES"in p?N({},p.ALLOWED_NAMESPACES,qr):th,Er="ADD_URI_SAFE_ATTR"in p?N(Se(ao),p.ADD_URI_SAFE_ATTR,tt):ao,oo="ADD_DATA_URI_TAGS"in p?N(Se(so),p.ADD_DATA_URI_TAGS,tt):so,Te="FORBID_CONTENTS"in p?N({},p.FORBID_CONTENTS,tt):no,ut="FORBID_TAGS"in p?N({},p.FORBID_TAGS,tt):{},_t="FORBID_ATTR"in p?N({},p.FORBID_ATTR,tt):{},be="USE_PROFILES"in p?p.USE_PROFILES:!1,Zt=p.ALLOW_ARIA_ATTR!==!1,Pt=p.ALLOW_DATA_ATTR!==!1,qt=p.ALLOW_UNKNOWN_PROTOCOLS||!1,et=p.ALLOW_SELF_CLOSE_IN_ATTR!==!1,at=p.SAFE_FOR_TEMPLATES||!1,kt=p.WHOLE_DOCUMENT||!1,xe=p.RETURN_DOM||!1,Ci=p.RETURN_DOM_FRAGMENT||!1,xi=p.RETURN_TRUSTED_TYPE||!1,Fr=p.FORCE_BODY||!1,io=p.SANITIZE_DOM!==!1,ro=p.SANITIZE_NAMED_PROPS||!1,Lr=p.KEEP_CONTENT!==!1,ze=p.IN_PLACE||!1,I=p.ALLOWED_URI_REGEXP||ba,ve=p.NAMESPACE||zt,q=p.CUSTOM_ELEMENT_HANDLING||{},p.CUSTOM_ELEMENT_HANDLING&&lo(p.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(q.tagNameCheck=p.CUSTOM_ELEMENT_HANDLING.tagNameCheck),p.CUSTOM_ELEMENT_HANDLING&&lo(p.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(q.attributeNameCheck=p.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),p.CUSTOM_ELEMENT_HANDLING&&typeof p.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(q.allowCustomizedBuiltInElements=p.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),at&&(Pt=!1),Ci&&(xe=!0),be&&(b=N({},[...Yo]),R=[],be.html===!0&&(N(b,Uo),N(R,Vo)),be.svg===!0&&(N(b,zr),N(R,jr),N(R,Fi)),be.svgFilters===!0&&(N(b,Wr),N(R,jr),N(R,Fi)),be.mathMl===!0&&(N(b,Hr),N(R,Go),N(R,Fi))),p.ADD_TAGS&&(b===j&&(b=Se(b)),N(b,p.ADD_TAGS,tt)),p.ADD_ATTR&&(R===V&&(R=Se(R)),N(R,p.ADD_ATTR,tt)),p.ADD_URI_SAFE_ATTR&&N(Er,p.ADD_URI_SAFE_ATTR,tt),p.FORBID_CONTENTS&&(Te===no&&(Te=Se(Te)),N(Te,p.FORBID_CONTENTS,tt)),Lr&&(b["#text"]=!0),kt&&N(b,["html","head","body"]),b.table&&(N(b,["tbody"]),delete ut.tbody),p.TRUSTED_TYPES_POLICY){if(typeof p.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ye('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof p.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ye('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');z=p.TRUSTED_TYPES_POLICY,H=z.createHTML("")}else z===void 0&&(z=cd(d,n)),z!==null&&typeof H=="string"&&(H=z.createHTML(""));ct&&ct(p),ke=p}},ho=N({},["mi","mo","mn","ms","mtext"]),co=N({},["foreignobject","desc","title","annotation-xml"]),nh=N({},["title","style","font","a","script"]),vi=N({},zr);N(vi,Wr),N(vi,td);const $r=N({},Hr);N($r,ed);const oh=function(p){let m=T(p);(!m||!m.tagName)&&(m={namespaceURI:ve,tagName:"template"});const w=$i(p.tagName),U=$i(m.tagName);return Mr[p.namespaceURI]?p.namespaceURI===Ti?m.namespaceURI===zt?w==="svg":m.namespaceURI===bi?w==="svg"&&(U==="annotation-xml"||ho[U]):!!vi[w]:p.namespaceURI===bi?m.namespaceURI===zt?w==="math":m.namespaceURI===Ti?w==="math"&&co[U]:!!$r[w]:p.namespaceURI===zt?m.namespaceURI===Ti&&!co[U]||m.namespaceURI===bi&&!ho[U]?!1:!$r[w]&&(nh[w]||!vi[w]):!!(oe==="application/xhtml+xml"&&Mr[p.namespaceURI]):!1},se=function(p){je(e.removed,{element:p});try{p.parentNode.removeChild(p)}catch{p.remove()}},Dr=function(p,m){try{je(e.removed,{attribute:m.getAttributeNode(p),from:m})}catch{je(e.removed,{attribute:null,from:m})}if(m.removeAttribute(p),p==="is"&&!R[p])if(xe||Ci)try{se(m)}catch{}else try{m.setAttribute(p,"")}catch{}},uo=function(p){let m=null,w=null;if(Fr)p=""+p;else{const rt=Kf(p,/^[\r\n\t ]+/);w=rt&&rt[0]}oe==="application/xhtml+xml"&&ve===zt&&(p=''+p+"");const U=z?z.createHTML(p):p;if(ve===zt)try{m=new c().parseFromString(U,oe)}catch{}if(!m||!m.documentElement){m=Y.createDocument(ve,"template",null);try{m.documentElement.innerHTML=Or?H:U}catch{}}const it=m.body||m.documentElement;return p&&w&&it.insertBefore(i.createTextNode(w),it.childNodes[0]||null),ve===zt?Nt.call(m,kt?"html":"body")[0]:kt?m.documentElement:it},fo=function(p){return X.call(p.ownerDocument||p,p,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT,null)},sh=function(p){return p instanceof f&&(typeof p.nodeName!="string"||typeof p.textContent!="string"||typeof p.removeChild!="function"||!(p.attributes instanceof u)||typeof p.removeAttribute!="function"||typeof p.setAttribute!="function"||typeof p.namespaceURI!="string"||typeof p.insertBefore!="function"||typeof p.hasChildNodes!="function")},po=function(p){return typeof a=="function"&&p instanceof a},Wt=function(p,m,w){D[p]&&Bi(D[p],U=>{U.call(e,m,w,ke)})},go=function(p){let m=null;if(Wt("beforeSanitizeElements",p,null),sh(p))return se(p),!0;const w=tt(p.nodeName);if(Wt("uponSanitizeElement",p,{tagName:w,allowedTags:b}),p.hasChildNodes()&&!po(p.firstElementChild)&&yt(/<[/\w]/g,p.innerHTML)&&yt(/<[/\w]/g,p.textContent))return se(p),!0;if(!b[w]||ut[w]){if(!ut[w]&&_o(w)&&(q.tagNameCheck instanceof RegExp&&yt(q.tagNameCheck,w)||q.tagNameCheck instanceof Function&&q.tagNameCheck(w)))return!1;if(Lr&&!Te[w]){const U=T(p)||p.parentNode,it=P(p)||p.childNodes;if(it&&U){const rt=it.length;for(let ft=rt-1;ft>=0;--ft)U.insertBefore(k(it[ft],!0),S(p))}}return se(p),!0}return p instanceof l&&!oh(p)||(w==="noscript"||w==="noembed"||w==="noframes")&&yt(/<\/no(script|embed|frames)/i,p.innerHTML)?(se(p),!0):(at&&p.nodeType===3&&(m=p.textContent,Bi([Ft,Rt,M],U=>{m=Ue(m,U," ")}),p.textContent!==m&&(je(e.removed,{element:p.cloneNode()}),p.textContent=m)),Wt("afterSanitizeElements",p,null),!1)},mo=function(p,m,w){if(io&&(m==="id"||m==="name")&&(w in i||w in rh))return!1;if(!(Pt&&!_t[m]&&yt(v,m))){if(!(Zt&&yt(C,m))){if(!R[m]||_t[m]){if(!(_o(p)&&(q.tagNameCheck instanceof RegExp&&yt(q.tagNameCheck,p)||q.tagNameCheck instanceof Function&&q.tagNameCheck(p))&&(q.attributeNameCheck instanceof RegExp&&yt(q.attributeNameCheck,m)||q.attributeNameCheck instanceof Function&&q.attributeNameCheck(m))||m==="is"&&q.allowCustomizedBuiltInElements&&(q.tagNameCheck instanceof RegExp&&yt(q.tagNameCheck,w)||q.tagNameCheck instanceof Function&&q.tagNameCheck(w))))return!1}else if(!Er[m]){if(!yt(I,Ue(w,x,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&p!=="script"&&Zf(w,"data:")===0&&oo[p])){if(!(qt&&!yt(E,Ue(w,x,"")))){if(w)return!1}}}}}}return!0},_o=function(p){return p.indexOf("-")>0},yo=function(p){Wt("beforeSanitizeAttributes",p,null);const{attributes:m}=p;if(!m)return;const w={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:R};let U=m.length;for(;U--;){const it=m[U],{name:rt,namespaceURI:ft,value:ae}=it,We=tt(rt);let dt=rt==="value"?ae:Jf(ae);if(w.attrName=We,w.attrValue=dt,w.keepAttr=!0,w.forceKeepAttr=void 0,Wt("uponSanitizeAttribute",p,w),dt=w.attrValue,w.forceKeepAttr||(Dr(rt,p),!w.keepAttr))continue;if(!et&&yt(/\/>/i,dt)){Dr(rt,p);continue}at&&Bi([Ft,Rt,M],xo=>{dt=Ue(dt,xo," ")});const Co=tt(p.nodeName);if(mo(Co,We,dt)){if(ro&&(We==="id"||We==="name")&&(Dr(rt,p),dt=Ql+dt),z&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!ft)switch(d.getAttributeType(Co,We)){case"TrustedHTML":{dt=z.createHTML(dt);break}case"TrustedScriptURL":{dt=z.createScriptURL(dt);break}}try{ft?p.setAttributeNS(ft,rt,dt):p.setAttribute(rt,dt),jo(e.removed)}catch{}}}Wt("afterSanitizeAttributes",p,null)},ah=function B(p){let m=null;const w=fo(p);for(Wt("beforeSanitizeShadowDOM",p,null);m=w.nextNode();)Wt("uponSanitizeShadowNode",m,null),!go(m)&&(m.content instanceof o&&B(m.content),yo(m));Wt("afterSanitizeShadowDOM",p,null)};return e.sanitize=function(B){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,w=null,U=null,it=null;if(Or=!B,Or&&(B=""),typeof B!="string"&&!po(B))if(typeof B.toString=="function"){if(B=B.toString(),typeof B!="string")throw Ye("dirty is not a string, aborting")}else throw Ye("toString is not a function");if(!e.isSupported)return B;if(Jt||Ir(p),e.removed=[],typeof B=="string"&&(ze=!1),ze){if(B.nodeName){const ae=tt(B.nodeName);if(!b[ae]||ut[ae])throw Ye("root node is forbidden and cannot be sanitized in-place")}}else if(B instanceof a)m=uo(""),w=m.ownerDocument.importNode(B,!0),w.nodeType===1&&w.nodeName==="BODY"||w.nodeName==="HTML"?m=w:m.appendChild(w);else{if(!xe&&!at&&!kt&&B.indexOf("<")===-1)return z&&xi?z.createHTML(B):B;if(m=uo(B),!m)return xe?null:xi?H:""}m&&Fr&&se(m.firstChild);const rt=fo(ze?B:m);for(;U=rt.nextNode();)go(U)||(U.content instanceof o&&ah(U.content),yo(U));if(ze)return B;if(xe){if(Ci)for(it=W.call(m.ownerDocument);m.firstChild;)it.appendChild(m.firstChild);else it=m;return(R.shadowroot||R.shadowrootmode)&&(it=K.call(r,it,!0)),it}let ft=kt?m.outerHTML:m.innerHTML;return kt&&b["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&yt(Ta,m.ownerDocument.doctype.name)&&(ft=" `+ft),at&&Bi([Ft,Rt,M],ae=>{ft=Ue(ft,ae," ")}),z&&xi?z.createHTML(ft):ft},e.setConfig=function(){let B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ir(B),Jt=!0},e.clearConfig=function(){ke=null,Jt=!1},e.isValidAttribute=function(B,p,m){ke||Ir({});const w=tt(B),U=tt(p);return mo(w,U,m)},e.addHook=function(B,p){typeof p=="function"&&(D[B]=D[B]||[],je(D[B],p))},e.removeHook=function(B){if(D[B])return jo(D[B])},e.removeHooks=function(B){D[B]&&(D[B]=[])},e.removeAllHooks=function(){D={}},e}var Ki=va();const Di={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Di.hue2rgb(o,n,t+1/3)*255;case"g":return Di.hue2rgb(o,n,t)*255;case"b":return Di.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),s=(n+o)/2;if(r==="l")return s*100;if(n===o)return 0;const a=n-o,l=s>.5?a/(2-n-o):a/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/a+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},fd=ud,dd={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},pd=dd,$={channel:Di,lang:fd,unit:pd},Qt={};for(let t=0;t<=255;t++)Qt[t]=$.unit.dec2hex(t);const nt={ALL:0,RGB:1,HSL:2};class gd{constructor(){this.type=nt.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=nt.ALL}is(e){return this.type===e}}class md{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new gd}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=nt.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=$.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=$.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=$.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=$.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=$.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=$.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(nt.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(nt.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(nt.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(nt.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(nt.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(nt.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(nt.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(nt.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(nt.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(nt.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(nt.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(nt.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const _d=md,gr=new _d({r:0,g:0,b:0,a:0},"transparent"),Le={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Le.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,s=n>4,a=s?1:17,l=s?8:4,h=o?0:-1,u=s?255:15;return gr.set({r:(r>>l*(h+3)&u)*a,g:(r>>l*(h+2)&u)*a,b:(r>>l*(h+1)&u)*a,a:o?(r&u)*a/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${Qt[Math.round(e)]}${Qt[Math.round(i)]}${Qt[Math.round(r)]}${Qt[Math.round(n*255)]}`:`#${Qt[Math.round(e)]}${Qt[Math.round(i)]}${Qt[Math.round(r)]}`}},ce={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(ce.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return $.channel.clamp.h(parseFloat(i)*.9);case"rad":return $.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return $.channel.clamp.h(parseFloat(i)*360)}}return $.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(ce.re);if(!i)return;const[,r,n,o,s,a]=i;return gr.set({h:ce._hue2deg(r),s:$.channel.clamp.s(parseFloat(n)),l:$.channel.clamp.l(parseFloat(o)),a:s?$.channel.clamp.a(a?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%, ${n})`:`hsl(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%)`}},Je={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=Je.colors[t];if(e)return Le.parse(e)},stringify:t=>{const e=Le.stringify(t);for(const i in Je.colors)if(Je.colors[i]===e)return i}},Ze={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(Ze.re);if(!i)return;const[,r,n,o,s,a,l,h,u]=i;return gr.set({r:$.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:$.channel.clamp.g(s?parseFloat(o)*2.55:parseFloat(o)),b:$.channel.clamp.b(l?parseFloat(a)*2.55:parseFloat(a)),a:h?$.channel.clamp.a(u?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)}, ${$.lang.round(n)})`:`rgb(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)})`}},Ot={format:{keyword:Je,hex:Le,rgb:Ze,rgba:Ze,hsl:ce,hsla:ce},parse:t=>{if(typeof t!="string")return t;const e=Le.parse(t)||Ze.parse(t)||ce.parse(t)||Je.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(nt.HSL)||t.data.r===void 0?ce.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Ze.stringify(t):Le.stringify(t)},ka=(t,e)=>{const i=Ot.parse(t);for(const r in e)i[r]=$.channel.clamp[r](e[r]);return Ot.stringify(i)},Qe=(t,e,i=0,r=1)=>{if(typeof t!="number")return ka(t,{a:e});const n=gr.set({r:$.channel.clamp.r(t),g:$.channel.clamp.g(e),b:$.channel.clamp.b(i),a:$.channel.clamp.a(r)});return Ot.stringify(n)},yd=t=>{const{r:e,g:i,b:r}=Ot.parse(t),n=.2126*$.channel.toLinear(e)+.7152*$.channel.toLinear(i)+.0722*$.channel.toLinear(r);return $.lang.round(n)},Cd=t=>yd(t)>=.5,xd=Cd,mi=t=>!xd(t),Sa=(t,e,i)=>{const r=Ot.parse(t),n=r[e],o=$.channel.clamp[e](n+i);return n!==o&&(r[e]=o),Ot.stringify(r)},A=(t,e)=>Sa(t,"l",e),O=(t,e)=>Sa(t,"l",-e),g=(t,e)=>{const i=Ot.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return ka(t,r)},bd=(t,e,i=50)=>{const{r,g:n,b:o,a:s}=Ot.parse(t),{r:a,g:l,b:h,a:u}=Ot.parse(e),f=i/100,c=f*2-1,d=s-u,k=((c*d===-1?c:(c+d)/(1+c*d))+1)/2,S=1-k,P=r*k+a*S,T=n*k+l*S,z=o*k+h*S,H=s*f+u*(1-f);return Qe(P,T,z,H)},y=(t,e=100)=>{const i=Ot.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,bd(i,t,e)};var wa=typeof global=="object"&&global&&global.Object===Object&&global,Td=typeof self=="object"&&self&&self.Object===Object&&self,Dt=wa||Td||Function("return this")(),Zi=Dt.Symbol,Ba=Object.prototype,vd=Ba.hasOwnProperty,kd=Ba.toString,Ve=Zi?Zi.toStringTag:void 0;function Sd(t){var e=vd.call(t,Ve),i=t[Ve];try{t[Ve]=void 0;var r=!0}catch{}var n=kd.call(t);return r&&(e?t[Ve]=i:delete t[Ve]),n}var wd=Object.prototype,Bd=wd.toString;function Ad(t){return Bd.call(t)}var Fd="[object Null]",Ld="[object Undefined]",Ko=Zi?Zi.toStringTag:void 0;function Re(t){return t==null?t===void 0?Ld:Fd:Ko&&Ko in Object(t)?Sd(t):Ad(t)}function _e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Ed="[object AsyncFunction]",Od="[object Function]",Md="[object GeneratorFunction]",Id="[object Proxy]";function In(t){if(!_e(t))return!1;var e=Re(t);return e==Od||e==Md||e==Ed||e==Id}var Ur=Dt["__core-js_shared__"],Zo=function(){var t=/[^.]+$/.exec(Ur&&Ur.keys&&Ur.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function $d(t){return!!Zo&&Zo in t}var Dd=Function.prototype,Nd=Dd.toString;function ye(t){if(t!=null){try{return Nd.call(t)}catch{}try{return t+""}catch{}}return""}var Rd=/[\\^$.*+?()[\]{}|]/g,Pd=/^\[object .+?Constructor\]$/,qd=Function.prototype,zd=Object.prototype,Wd=qd.toString,Hd=zd.hasOwnProperty,jd=RegExp("^"+Wd.call(Hd).replace(Rd,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ud(t){if(!_e(t)||$d(t))return!1;var e=In(t)?jd:Pd;return e.test(ye(t))}function Yd(t,e){return t==null?void 0:t[e]}function Ce(t,e){var i=Yd(t,e);return Ud(i)?i:void 0}var li=Ce(Object,"create");function Vd(){this.__data__=li?li(null):{},this.size=0}function Gd(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Xd="__lodash_hash_undefined__",Kd=Object.prototype,Zd=Kd.hasOwnProperty;function Jd(t){var e=this.__data__;if(li){var i=e[t];return i===Xd?void 0:i}return Zd.call(e,t)?e[t]:void 0}var Qd=Object.prototype,tp=Qd.hasOwnProperty;function ep(t){var e=this.__data__;return li?e[t]!==void 0:tp.call(e,t)}var ip="__lodash_hash_undefined__";function rp(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=li&&e===void 0?ip:e,this}function ge(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function cp(t,e){var i=this.__data__,r=_r(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function Kt(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Pp}function xr(t){return t!=null&&Oa(t.length)&&!In(t)}function qp(t){return yi(t)&&xr(t)}function zp(){return!1}var Ma=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ns=Ma&&typeof module=="object"&&module&&!module.nodeType&&module,Wp=ns&&ns.exports===Ma,os=Wp?Dt.Buffer:void 0,Hp=os?os.isBuffer:void 0,jp=Hp||zp;const Dn=jp;var Up="[object Object]",Yp=Function.prototype,Vp=Object.prototype,Ia=Yp.toString,Gp=Vp.hasOwnProperty,Xp=Ia.call(Object);function Kp(t){if(!yi(t)||Re(t)!=Up)return!1;var e=La(t);if(e===null)return!0;var i=Gp.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&Ia.call(i)==Xp}var Zp="[object Arguments]",Jp="[object Array]",Qp="[object Boolean]",tg="[object Date]",eg="[object Error]",ig="[object Function]",rg="[object Map]",ng="[object Number]",og="[object Object]",sg="[object RegExp]",ag="[object Set]",lg="[object String]",hg="[object WeakMap]",cg="[object ArrayBuffer]",ug="[object DataView]",fg="[object Float32Array]",dg="[object Float64Array]",pg="[object Int8Array]",gg="[object Int16Array]",mg="[object Int32Array]",_g="[object Uint8Array]",yg="[object Uint8ClampedArray]",Cg="[object Uint16Array]",xg="[object Uint32Array]",G={};G[fg]=G[dg]=G[pg]=G[gg]=G[mg]=G[_g]=G[yg]=G[Cg]=G[xg]=!0;G[Zp]=G[Jp]=G[cg]=G[Qp]=G[ug]=G[tg]=G[eg]=G[ig]=G[rg]=G[ng]=G[og]=G[sg]=G[ag]=G[lg]=G[hg]=!1;function bg(t){return yi(t)&&Oa(t.length)&&!!G[Re(t)]}function Tg(t){return function(e){return t(e)}}var $a=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=$a&&typeof module=="object"&&module&&!module.nodeType&&module,vg=ti&&ti.exports===$a,Yr=vg&&wa.process,ss=function(){try{var t=ti&&ti.require&&ti.require("util").types;return t||Yr&&Yr.binding&&Yr.binding("util")}catch{}}(),as=ss&&ss.isTypedArray,kg=as?Tg(as):bg;const Nn=kg;function cn(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Sg=Object.prototype,wg=Sg.hasOwnProperty;function Bg(t,e,i){var r=t[e];(!(wg.call(t,e)&&mr(r,i))||i===void 0&&!(e in t))&&$n(t,e,i)}function Ag(t,e,i,r){var n=!i;i||(i={});for(var o=-1,s=e.length;++o-1&&t%1==0&&t0){if(++e>=Yg)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var Kg=Xg(Ug);function Zg(t,e){return Kg(Wg(t,e,Pa),t+"")}function Jg(t,e,i){if(!_e(i))return!1;var r=typeof e;return(r=="number"?xr(i)&&Da(e,i.length):r=="string"&&e in i)?mr(i[e],t):!1}function Qg(t){return Zg(function(e,i){var r=-1,n=i.length,o=n>1?i[n-1]:void 0,s=n>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(n--,o):void 0,s&&Jg(i[0],i[1],s)&&(o=n<3?void 0:o,n=1),e=Object(e);++r0?ci(qe,--vt):0,Me--,J===10&&(Me=1,br--),J}function wt(){return J=vt2||un(J)>3?"":" "}function fm(t,e){for(;--e&&wt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Tr(t,Ri()+(e<6&&fe()==32&&wt()==32))}function fn(t){for(;wt();)switch(J){case t:return vt;case 34:case 39:t!==34&&t!==39&&fn(J);break;case 40:t===41&&fn(t);break;case 92:wt();break}return vt}function dm(t,e){for(;wt()&&t+J!==57;)if(t+J===84&&fe()===47)break;return"/*"+Tr(e,vt-1)+"*"+Rn(t===47?t:wt())}function pm(t){for(;!un(fe());)wt();return Tr(t,vt)}function gm(t){return cm(Pi("",null,null,null,[""],t=hm(t),0,[0],t))}function Pi(t,e,i,r,n,o,s,a,l){for(var h=0,u=0,f=s,c=0,d=0,_=0,k=1,S=1,P=1,T=0,z="",H=n,Y=o,X=r,W=z;S;)switch(_=T,T=wt()){case 40:if(_!=108&&ci(W,f-1)==58){om(W+=Ni(Vr(T),"&","&\f"),"&\f",Ha(h?a[h-1]:0))!=-1&&(P=-1);break}case 34:case 39:case 91:W+=Vr(T);break;case 9:case 10:case 13:case 32:W+=um(_);break;case 92:W+=fm(Ri()-1,7);continue;case 47:switch(fe()){case 42:case 47:Li(mm(dm(wt(),Ri()),e,i,l),l);break;default:W+="/"}break;case 123*k:a[h++]=Yt(W)*P;case 125*k:case 59:case 0:switch(T){case 0:case 125:S=0;case 59+u:P==-1&&(W=Ni(W,/\f/g,"")),d>0&&Yt(W)-f&&Li(d>32?cs(W+";",r,i,f-1,l):cs(Ni(W," ","")+";",r,i,f-2,l),l);break;case 59:W+=";";default:if(Li(X=hs(W,e,i,h,u,n,a,z,H=[],Y=[],f,o),o),T===123)if(u===0)Pi(W,e,X,X,H,o,f,a,Y);else switch(c===99&&ci(W,3)===110?100:c){case 100:case 108:case 109:case 115:Pi(t,X,X,r&&Li(hs(t,X,X,0,0,n,a,z,n,H=[],f,Y),Y),n,Y,f,a,r?H:Y);break;default:Pi(W,X,X,X,[""],Y,0,a,Y)}}h=u=d=0,k=P=1,z=W="",f=s;break;case 58:f=1+Yt(W),d=_;default:if(k<1){if(T==123)--k;else if(T==125&&k++==0&&lm()==125)continue}switch(W+=Rn(T),T*k){case 38:P=u>0?1:(W+="\f",-1);break;case 44:a[h++]=(Yt(W)-1)*P,P=1;break;case 64:fe()===45&&(W+=Vr(wt())),c=fe(),u=f=Yt(z=W+=pm(Ri())),T++;break;case 45:_===45&&Yt(W)==2&&(k=0)}}return o}function hs(t,e,i,r,n,o,s,a,l,h,u,f){for(var c=n-1,d=n===0?o:[""],_=sm(d),k=0,S=0,P=0;k0?d[T]+" "+z:Ni(z,/&\f/g,d[T])))&&(l[P++]=H);return Pn(t,e,i,n===0?za:a,l,h,u,f)}function mm(t,e,i,r){return Pn(t,e,i,qa,Rn(am()),ui(t,2,-2),0,r)}function cs(t,e,i,r,n){return Pn(t,e,i,Wa,ui(t,0,r),ui(t,r+1,-1),r,n)}function dn(t,e){for(var i="",r=0;r{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},qn=function(t="fatal"){let e=jt.fatal;typeof t=="string"?(t=t.toLowerCase(),t in jt&&(e=jt[t])):typeof t=="number"&&(e=t),L.trace=()=>{},L.debug=()=>{},L.info=()=>{},L.warn=()=>{},L.error=()=>{},L.fatal=()=>{},e<=jt.fatal&&(L.fatal=console.error?console.error.bind(console,xt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",xt("FATAL"))),e<=jt.error&&(L.error=console.error?console.error.bind(console,xt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",xt("ERROR"))),e<=jt.warn&&(L.warn=console.warn?console.warn.bind(console,xt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",xt("WARN"))),e<=jt.info&&(L.info=console.info?console.info.bind(console,xt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",xt("INFO"))),e<=jt.debug&&(L.debug=console.debug?console.debug.bind(console,xt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",xt("DEBUG"))),e<=jt.trace&&(L.trace=console.debug?console.debug.bind(console,xt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",xt("TRACE")))},xt=t=>`%c${fh().format("ss.SSS")} : ${t} : `,vr=//gi,Mm=t=>t?Va(t).replace(/\\n/g,"#br#").split("#br#"):[""],Ya=t=>Ki.sanitize(t),ms=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=Ya(t):r!=="loose"&&(t=Va(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Nm(t))}return t},fi=(t,e)=>t&&(e.dompurifyConfig?t=Ki.sanitize(ms(t,e),e.dompurifyConfig).toString():t=Ki.sanitize(ms(t,e),{FORBID_TAGS:["style"]}).toString(),t),Im=(t,e)=>typeof t=="string"?fi(t,e):t.flat().map(i=>fi(i,e)),$m=t=>vr.test(t),Dm=t=>t.split(vr),Nm=t=>t.replace(/#br#/g,"
"),Va=t=>t.replace(vr,"#br#"),Rm=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},Ga=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),Pm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},qm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},Sb=function(t){const e=t.split(/(,)/),i=[];for(let r=0;r0&&r+1Math.max(0,t.split(e).length-1),zm=(t,e)=>{const i=yn(t,"~"),r=yn(e,"~");return i===1&&r===1},Wm=t=>{const e=yn(t,"~");let i=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),o=r.lastIndexOf("~");for(;n!==-1&&o!==-1&&n!==o;)r[n]="<",r[o]=">",n=r.indexOf("~"),o=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},zn={getRows:Mm,sanitizeText:fi,sanitizeTextOrArray:Im,hasBreaks:$m,splitBreaks:Dm,lineBreakRegex:vr,removeScript:Ya,getUrl:Rm,evaluate:Ga,getMax:Pm,getMin:qm},ht=(t,e)=>e?g(t,{s:-40,l:10}):g(t,{s:-40,l:-10}),kr="#ffffff",Sr="#f2f2f2";let Hm=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||g(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||g(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ht(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ht(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ht(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ht(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||y(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||y(this.tertiaryColor),this.lineColor=this.lineColor||y(this.background),this.arrowheadColor=this.arrowheadColor||y(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?O(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||O(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||y(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||A(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.darkMode)for(let d=0;d{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const jm=t=>{const e=new Hm;return e.calculate(t),e};let Um=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=A(this.primaryColor,16),this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=y(this.background),this.secondaryBorderColor=ht(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ht(this.tertiaryColor,this.darkMode),this.primaryTextColor=y(this.primaryColor),this.secondaryTextColor=y(this.secondaryColor),this.tertiaryTextColor=y(this.tertiaryColor),this.lineColor=y(this.background),this.textColor=y(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=A(y("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=Qe(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=O("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=O(this.sectionBkgColor,10),this.taskBorderColor=Qe(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Qe(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=A(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=A(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=A(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=g(this.primaryColor,{h:64}),this.fillType3=g(this.secondaryColor,{h:64}),this.fillType4=g(this.primaryColor,{h:-64}),this.fillType5=g(this.secondaryColor,{h:-64}),this.fillType6=g(this.primaryColor,{h:128}),this.fillType7=g(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330});for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Ym=t=>{const e=new Um;return e.calculate(t),e};let Vm=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=g(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ht(this.primaryColor,this.darkMode),this.secondaryBorderColor=ht(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ht(this.tertiaryColor,this.darkMode),this.primaryTextColor=y(this.primaryColor),this.secondaryTextColor=y(this.secondaryColor),this.tertiaryTextColor=y(this.tertiaryColor),this.lineColor=y(this.background),this.textColor=y(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Qe(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Gm=t=>{const e=new Vm;return e.calculate(t),e};let Xm=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=A("#cde498",10),this.primaryBorderColor=ht(this.primaryColor,this.darkMode),this.secondaryBorderColor=ht(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ht(this.tertiaryColor,this.darkMode),this.primaryTextColor=y(this.primaryColor),this.secondaryTextColor=y(this.secondaryColor),this.tertiaryTextColor=y(this.primaryColor),this.lineColor=y(this.background),this.textColor=y(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.actorBorder=O(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Km=t=>{const e=new Xm;return e.calculate(t),e};class Zm{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=A(this.contrast,55),this.background="#ffffff",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ht(this.primaryColor,this.darkMode),this.secondaryBorderColor=ht(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ht(this.tertiaryColor,this.darkMode),this.primaryTextColor=y(this.primaryColor),this.secondaryTextColor=y(this.secondaryColor),this.tertiaryTextColor=y(this.tertiaryColor),this.lineColor=y(this.background),this.textColor=y(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=A(this.contrast,55),this.border2=this.contrast,this.actorBorder=A(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const Jm=t=>{const e=new Zm;return e.calculate(t),e},Gt={base:{getThemeVariables:jm},dark:{getThemeVariables:Ym},default:{getThemeVariables:Gm},forest:{getThemeVariables:Km},neutral:{getThemeVariables:Jm}},Ut={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},Xa={...Ut,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Gt.default.getThemeVariables(),sequence:{...Ut.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Ut.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Ut.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Ut.pie,useWidth:984},xyChart:{...Ut.xyChart,useWidth:void 0},requirement:{...Ut.requirement,useWidth:void 0},gitGraph:{...Ut.gitGraph,useMaxWidth:!1},sankey:{...Ut.sankey,useMaxWidth:!1}},Ka=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...Ka(t[r],"")]:[...i,e+r],[]),Qm=new Set(Ka(Xa,"")),t0=Xa,er=t=>{if(L.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>er(e));return}for(const e of Object.keys(t)){if(L.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Qm.has(e)||t[e]==null){L.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){L.debug("sanitizing object",e),er(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(L.debug("sanitizing css option",e),t[e]=e0(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];i!=null&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}L.debug("After sanitization",t)}},e0=t=>{let e=0,i=0;for(const r of t){if(e{for(const{id:e,detector:i,loader:r}of t)tl(e,i,r)},tl=(t,e,i)=>{Ie[t]?L.error(`Detector with key ${t} already exists`):Ie[t]={detector:e,loader:i},L.debug(`Detector with key ${t} added${i?" with loader":""}`)},r0=t=>Ie[t].loader,Cn=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(o=>Cn(t,o,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||i<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=Cn(t[o],e[o],{depth:i-1,clobber:r})):(r||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},ot=Cn,n0="​",o0={curveBasis:Ef,curveBasisClosed:Of,curveBasisOpen:Mf,curveBumpX:Ff,curveBumpY:Lf,curveBundle:If,curveCardinalClosed:Df,curveCardinalOpen:Nf,curveCardinal:$f,curveCatmullRomClosed:Pf,curveCatmullRomOpen:qf,curveCatmullRom:Rf,curveLinear:Af,curveLinearClosed:zf,curveMonotoneX:Wf,curveMonotoneY:Hf,curveNatural:jf,curveStep:Uf,curveStepAfter:Vf,curveStepBefore:Yf},s0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,a0=function(t,e){const i=el(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const s=i.map(a=>a.args);er(s),r=ot(r,[...s])}else r=i.args;if(!r)return;let n=wr(t,e);const o="config";return r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o]),r},el=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${s0.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),L.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=ei.exec(t))!==null;)if(r.index===ei.lastIndex&&ei.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?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return L.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},l0=function(t){return t.replace(ei,"")},h0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function c0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return o0[i]??e}function u0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Ms.sanitizeUrl(i):i}const f0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=il(n,e),e=n});const r=i/2;return Wn(t,r)}function p0(t){return t.length===1?t[0]:d0(t)}const _s=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},Wn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=il(n,i);if(o=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:_s((1-s)*i.x+s*n.x,5),y:_s((1-s)*i.y+s*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},g0=(t,e,i)=>{L.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=Wn(e,25),o=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),a={x:0,y:0};return a.x=Math.sin(s)*o+(e[0].x+n.x)/2,a.y=-Math.cos(s)*o+(e[0].y+n.y)/2,a};function m0(t,e,i){const r=structuredClone(i);L.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=Wn(r,n),s=10+t*.5,a=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(a+Math.PI)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a+Math.PI)*s+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(a-Math.PI)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a-Math.PI)*s+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(a)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2-5):(l.x=Math.sin(a)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2),l}function _0(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 ys=0;const y0=()=>(ys++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ys);function C0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nC0(t.length),b0=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,text:""}},T0=function(t,e){const i=e.text.replace(zn.lineBreakRegex," "),[,r]=jn(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},v0=_i((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),zn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=ir(`${s} `,i),h=ir(o,i);if(l>e){const{hyphenatedStrings:c,remainingWord:d}=k0(s,e,"-",i);n.push(o,...c),o=d}else h+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}`),k0=_i((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 h=`${s}${a}`;if(ir(h,r)>=e){const f=l+1,c=n.length===f,d=`${h}${i}`;o.push(c?h:d),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function S0(t,e){return Hn(t,e).height}function ir(t,e){return Hn(t,e).width}const Hn=_i((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=jn(i),s=["sans-serif",r],a=t.split(zn.lineBreakRegex),l=[],h=bt("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const c of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const S=b0();S.text=k||n0;const P=T0(u,S).style("font-size",o).style("font-weight",n).style("font-family",c),T=(P._groups||P)[0][0].getBBox();if(T.width===0&&T.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,T.width)),d=Math.round(T.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}u.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}`);class w0{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Ei;const B0=function(t){return Ei=Ei||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ei.innerHTML=t,unescape(Ei.textContent)};function rl(t){return"str"in t}const A0=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},jn=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]};function nl(t,e){return em({},t,e)}const ii={assignWithDepth:ot,wrapLabel:v0,calculateTextHeight:S0,calculateTextWidth:ir,calculateTextDimensions:Hn,cleanAndMerge:nl,detectInit:a0,detectDirective:el,isSubstringInArray:h0,interpolateToCurve:c0,calcLabelPosition:p0,calcCardinalityPosition:g0,calcTerminalLabelPosition:m0,formatUrl:u0,getStylesFromArray:_0,generateId:y0,random:x0,runFunc:f0,entityDecode:B0,insertTitle:A0,parseFontSize:jn,InitIDGenerator:w0},Cs="10.6.1",$e=Object.freeze(t0);let pt=ot({},$e),ol,De=[],ri=ot({},$e);const Br=(t,e)=>{let i=ot({},t),r={};for(const n of e)ll(n),r=ot(r,n);if(i=ot(i,r),r.theme&&r.theme in Gt){const n=ot({},ol),o=ot(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Gt&&(i.themeVariables=Gt[i.theme].getThemeVariables(o))}return ri=i,hl(ri),ri},F0=t=>(pt=ot({},$e),pt=ot(pt,t),t.theme&&Gt[t.theme]&&(pt.themeVariables=Gt[t.theme].getThemeVariables(t.themeVariables)),Br(pt,De),pt),L0=t=>{ol=ot({},t)},E0=t=>(pt=ot(pt,t),Br(pt,De),pt),sl=()=>ot({},pt),al=t=>(hl(t),ot(ri,t),Mt()),Mt=()=>ot({},ri),ll=t=>{t&&(["secure",...pt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(L.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&ll(t[e])}))},O0=t=>{er(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),De.push(t),Br(pt,De)},rr=(t=pt)=>{De=[],Br(t,De)},M0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},xs={},I0=t=>{xs[t]||(L.warn(M0[t]),xs[t]=!0)},hl=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&I0("LAZY_LOAD_DEPRECATED")},cl="c4",$0=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),D0=async()=>{const{diagram:t}=await Z(()=>import("./c4Diagram-817c8e44.8vSvBO8E.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return{id:cl,diagram:t}},N0={id:cl,detector:$0,loader:D0},R0=N0,ul="flowchart",P0=(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:/^\s*graph/.test(t)},q0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-61eb444c.HtnM_56Q.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:ul,diagram:t}},z0={id:ul,detector:P0,loader:q0},W0=z0,fl="flowchart-v2",H0=(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:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},j0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-v2-2f8f667a.FYcPW-iT.js"),__vite__mapDeps([15,6,8,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:fl,diagram:t}},U0={id:fl,detector:H0,loader:j0},Y0=U0,dl="er",V0=t=>/^\s*erDiagram/.test(t),G0=async()=>{const{diagram:t}=await Z(()=>import("./erDiagram-9cfc3649.jYxaA5Bi.js"),__vite__mapDeps([16,7,12,13,14,2,3,4]),import.meta.url);return{id:dl,diagram:t}},X0={id:dl,detector:V0,loader:G0},K0=X0,pl="gitGraph",Z0=t=>/^\s*gitGraph/.test(t),J0=async()=>{const{diagram:t}=await Z(()=>import("./gitGraphDiagram-6b463803.rnjGXCwl.js"),__vite__mapDeps([17,2,3,4]),import.meta.url);return{id:pl,diagram:t}},Q0={id:pl,detector:Z0,loader:J0},t_=Q0,gl="gantt",e_=t=>/^\s*gantt/.test(t),i_=async()=>{const{diagram:t}=await Z(()=>import("./ganttDiagram-db6931fb.Z_lKYWBP.js"),__vite__mapDeps([18,4,19,20,2,3]),import.meta.url);return{id:gl,diagram:t}},r_={id:gl,detector:e_,loader:i_},n_=r_,ml="info",o_=t=>/^\s*info/.test(t),s_=async()=>{const{diagram:t}=await Z(()=>import("./infoDiagram-a336098b.IO5q47lF.js"),__vite__mapDeps([21,2,3,4]),import.meta.url);return{id:ml,diagram:t}},a_={id:ml,detector:o_,loader:s_},_l="pie",l_=t=>/^\s*pie/.test(t),h_=async()=>{const{diagram:t}=await Z(()=>import("./pieDiagram-a5166659.1goZTjMF.js"),__vite__mapDeps([22,23,14,24,20,13,2,3,4]),import.meta.url);return{id:_l,diagram:t}},c_={id:_l,detector:l_,loader:h_},yl="quadrantChart",u_=t=>/^\s*quadrantChart/.test(t),f_=async()=>{const{diagram:t}=await Z(()=>import("./quadrantDiagram-6c355bbc.uri_Pjpj.js"),__vite__mapDeps([25,19,20,2,3,4]),import.meta.url);return{id:yl,diagram:t}},d_={id:yl,detector:u_,loader:f_},p_=d_,Cl="xychart",g_=t=>/^\s*xychart-beta/.test(t),m_=async()=>{const{diagram:t}=await Z(()=>import("./xychartDiagram-f746c04c.81MrJfP4.js"),__vite__mapDeps([26,11,20,24,19,12,13,14,2,3,4]),import.meta.url);return{id:Cl,diagram:t}},__={id:Cl,detector:g_,loader:m_},y_=__,xl="requirement",C_=t=>/^\s*requirement(Diagram)?/.test(t),x_=async()=>{const{diagram:t}=await Z(()=>import("./requirementDiagram-4038b16c.gcs3M0d5.js"),__vite__mapDeps([27,7,12,13,14,2,3,4]),import.meta.url);return{id:xl,diagram:t}},b_={id:xl,detector:C_,loader:x_},T_=b_,bl="sequence",v_=t=>/^\s*sequenceDiagram/.test(t),k_=async()=>{const{diagram:t}=await Z(()=>import("./sequenceDiagram-465a088a.app30z5a.js"),__vite__mapDeps([28,1,2,3,4]),import.meta.url);return{id:bl,diagram:t}},S_={id:bl,detector:v_,loader:k_},w_=S_,Tl="class",B_=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},A_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-48ab76fb.gLlPfGHk.js"),__vite__mapDeps([29,30,7,12,13,14,2,3,4]),import.meta.url);return{id:Tl,diagram:t}},F_={id:Tl,detector:B_,loader:A_},L_=F_,vl="classDiagram",E_=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},O_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-v2-8ecb0bfc.dqc82LgD.js"),__vite__mapDeps([31,30,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:vl,diagram:t}},M_={id:vl,detector:E_,loader:O_},I_=M_,kl="state",$_=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},D_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-b620d43f.2pkn0URt.js"),__vite__mapDeps([32,33,7,12,13,14,2,3,4]),import.meta.url);return{id:kl,diagram:t}},N_={id:kl,detector:$_,loader:D_},R_=N_,Sl="stateDiagram",P_=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},q_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-v2-2671c3d1.P7fXP-3K.js"),__vite__mapDeps([34,33,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:Sl,diagram:t}},z_={id:Sl,detector:P_,loader:q_},W_=z_,wl="journey",H_=t=>/^\s*journey/.test(t),j_=async()=>{const{diagram:t}=await Z(()=>import("./journeyDiagram-deae3313.ZuElExma.js"),__vite__mapDeps([35,1,23,14,2,3,4]),import.meta.url);return{id:wl,diagram:t}},U_={id:wl,detector:H_,loader:j_},Y_=U_,V_=function(t,e){for(let i of e)t.attr(i[0],i[1])},G_=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Bl=function(t,e,i,r){const n=G_(e,i,r);V_(t,n)},X_=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;L.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;L.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,L.info(`Calculated bounds: ${a}x${l}`),Bl(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},qi={},K_=(t,e,i)=>{let r="";return t in qi&&qi[t]?r=qi[t](i):L.warn(`No theme found for ${t}`),` & { +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),L.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=ei.exec(t))!==null;)if(r.index===ei.lastIndex&&ei.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?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return L.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},l0=function(t){return t.replace(ei,"")},h0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function c0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return o0[i]??e}function u0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Ms.sanitizeUrl(i):i}const f0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=il(n,e),e=n});const r=i/2;return Wn(t,r)}function p0(t){return t.length===1?t[0]:d0(t)}const _s=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},Wn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=il(n,i);if(o=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:_s((1-s)*i.x+s*n.x,5),y:_s((1-s)*i.y+s*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},g0=(t,e,i)=>{L.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=Wn(e,25),o=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),a={x:0,y:0};return a.x=Math.sin(s)*o+(e[0].x+n.x)/2,a.y=-Math.cos(s)*o+(e[0].y+n.y)/2,a};function m0(t,e,i){const r=structuredClone(i);L.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=Wn(r,n),s=10+t*.5,a=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(a+Math.PI)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a+Math.PI)*s+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(a-Math.PI)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a-Math.PI)*s+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(a)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2-5):(l.x=Math.sin(a)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2),l}function _0(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 ys=0;const y0=()=>(ys++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ys);function C0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nC0(t.length),b0=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,text:""}},T0=function(t,e){const i=e.text.replace(zn.lineBreakRegex," "),[,r]=jn(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},v0=_i((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),zn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=ir(`${s} `,i),h=ir(o,i);if(l>e){const{hyphenatedStrings:c,remainingWord:d}=k0(s,e,"-",i);n.push(o,...c),o=d}else h+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}`),k0=_i((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 h=`${s}${a}`;if(ir(h,r)>=e){const f=l+1,c=n.length===f,d=`${h}${i}`;o.push(c?h:d),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function S0(t,e){return Hn(t,e).height}function ir(t,e){return Hn(t,e).width}const Hn=_i((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=jn(i),s=["sans-serif",r],a=t.split(zn.lineBreakRegex),l=[],h=bt("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const c of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const S=b0();S.text=k||n0;const P=T0(u,S).style("font-size",o).style("font-weight",n).style("font-family",c),T=(P._groups||P)[0][0].getBBox();if(T.width===0&&T.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,T.width)),d=Math.round(T.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}u.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}`);class w0{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Ei;const B0=function(t){return Ei=Ei||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ei.innerHTML=t,unescape(Ei.textContent)};function rl(t){return"str"in t}const A0=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},jn=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]};function nl(t,e){return em({},t,e)}const ii={assignWithDepth:ot,wrapLabel:v0,calculateTextHeight:S0,calculateTextWidth:ir,calculateTextDimensions:Hn,cleanAndMerge:nl,detectInit:a0,detectDirective:el,isSubstringInArray:h0,interpolateToCurve:c0,calcLabelPosition:p0,calcCardinalityPosition:g0,calcTerminalLabelPosition:m0,formatUrl:u0,getStylesFromArray:_0,generateId:y0,random:x0,runFunc:f0,entityDecode:B0,insertTitle:A0,parseFontSize:jn,InitIDGenerator:w0},Cs="10.6.1",$e=Object.freeze(t0);let pt=ot({},$e),ol,De=[],ri=ot({},$e);const Br=(t,e)=>{let i=ot({},t),r={};for(const n of e)ll(n),r=ot(r,n);if(i=ot(i,r),r.theme&&r.theme in Gt){const n=ot({},ol),o=ot(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Gt&&(i.themeVariables=Gt[i.theme].getThemeVariables(o))}return ri=i,hl(ri),ri},F0=t=>(pt=ot({},$e),pt=ot(pt,t),t.theme&&Gt[t.theme]&&(pt.themeVariables=Gt[t.theme].getThemeVariables(t.themeVariables)),Br(pt,De),pt),L0=t=>{ol=ot({},t)},E0=t=>(pt=ot(pt,t),Br(pt,De),pt),sl=()=>ot({},pt),al=t=>(hl(t),ot(ri,t),Mt()),Mt=()=>ot({},ri),ll=t=>{t&&(["secure",...pt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(L.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&ll(t[e])}))},O0=t=>{er(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),De.push(t),Br(pt,De)},rr=(t=pt)=>{De=[],Br(t,De)},M0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},xs={},I0=t=>{xs[t]||(L.warn(M0[t]),xs[t]=!0)},hl=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&I0("LAZY_LOAD_DEPRECATED")},cl="c4",$0=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),D0=async()=>{const{diagram:t}=await Z(()=>import("./c4Diagram-817c8e44.jwmik79h.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return{id:cl,diagram:t}},N0={id:cl,detector:$0,loader:D0},R0=N0,ul="flowchart",P0=(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:/^\s*graph/.test(t)},q0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-61eb444c.ppyp2WN6.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:ul,diagram:t}},z0={id:ul,detector:P0,loader:q0},W0=z0,fl="flowchart-v2",H0=(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:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},j0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-v2-2f8f667a.cLw1ukf0.js"),__vite__mapDeps([15,6,8,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:fl,diagram:t}},U0={id:fl,detector:H0,loader:j0},Y0=U0,dl="er",V0=t=>/^\s*erDiagram/.test(t),G0=async()=>{const{diagram:t}=await Z(()=>import("./erDiagram-9cfc3649.M6UFOU5W.js"),__vite__mapDeps([16,7,12,13,14,2,3,4]),import.meta.url);return{id:dl,diagram:t}},X0={id:dl,detector:V0,loader:G0},K0=X0,pl="gitGraph",Z0=t=>/^\s*gitGraph/.test(t),J0=async()=>{const{diagram:t}=await Z(()=>import("./gitGraphDiagram-6b463803.FEPj0aII.js"),__vite__mapDeps([17,2,3,4]),import.meta.url);return{id:pl,diagram:t}},Q0={id:pl,detector:Z0,loader:J0},t_=Q0,gl="gantt",e_=t=>/^\s*gantt/.test(t),i_=async()=>{const{diagram:t}=await Z(()=>import("./ganttDiagram-db6931fb.KbuX0LsH.js"),__vite__mapDeps([18,4,19,20,2,3]),import.meta.url);return{id:gl,diagram:t}},r_={id:gl,detector:e_,loader:i_},n_=r_,ml="info",o_=t=>/^\s*info/.test(t),s_=async()=>{const{diagram:t}=await Z(()=>import("./infoDiagram-a336098b.N6yAVH6y.js"),__vite__mapDeps([21,2,3,4]),import.meta.url);return{id:ml,diagram:t}},a_={id:ml,detector:o_,loader:s_},_l="pie",l_=t=>/^\s*pie/.test(t),h_=async()=>{const{diagram:t}=await Z(()=>import("./pieDiagram-a5166659.y596tFGp.js"),__vite__mapDeps([22,23,14,24,20,13,2,3,4]),import.meta.url);return{id:_l,diagram:t}},c_={id:_l,detector:l_,loader:h_},yl="quadrantChart",u_=t=>/^\s*quadrantChart/.test(t),f_=async()=>{const{diagram:t}=await Z(()=>import("./quadrantDiagram-6c355bbc.8-jw_S-G.js"),__vite__mapDeps([25,19,20,2,3,4]),import.meta.url);return{id:yl,diagram:t}},d_={id:yl,detector:u_,loader:f_},p_=d_,Cl="xychart",g_=t=>/^\s*xychart-beta/.test(t),m_=async()=>{const{diagram:t}=await Z(()=>import("./xychartDiagram-f746c04c.myk7Rj4p.js"),__vite__mapDeps([26,11,20,24,19,12,13,14,2,3,4]),import.meta.url);return{id:Cl,diagram:t}},__={id:Cl,detector:g_,loader:m_},y_=__,xl="requirement",C_=t=>/^\s*requirement(Diagram)?/.test(t),x_=async()=>{const{diagram:t}=await Z(()=>import("./requirementDiagram-4038b16c.k1YNoqU0.js"),__vite__mapDeps([27,7,12,13,14,2,3,4]),import.meta.url);return{id:xl,diagram:t}},b_={id:xl,detector:C_,loader:x_},T_=b_,bl="sequence",v_=t=>/^\s*sequenceDiagram/.test(t),k_=async()=>{const{diagram:t}=await Z(()=>import("./sequenceDiagram-465a088a.PVKE0tRJ.js"),__vite__mapDeps([28,1,2,3,4]),import.meta.url);return{id:bl,diagram:t}},S_={id:bl,detector:v_,loader:k_},w_=S_,Tl="class",B_=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},A_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-48ab76fb.D_lcLS0a.js"),__vite__mapDeps([29,30,7,12,13,14,2,3,4]),import.meta.url);return{id:Tl,diagram:t}},F_={id:Tl,detector:B_,loader:A_},L_=F_,vl="classDiagram",E_=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},O_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-v2-8ecb0bfc.bgcmPq0w.js"),__vite__mapDeps([31,30,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:vl,diagram:t}},M_={id:vl,detector:E_,loader:O_},I_=M_,kl="state",$_=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},D_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-b620d43f.PcXmIe49.js"),__vite__mapDeps([32,33,7,12,13,14,2,3,4]),import.meta.url);return{id:kl,diagram:t}},N_={id:kl,detector:$_,loader:D_},R_=N_,Sl="stateDiagram",P_=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},q_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-v2-2671c3d1.5LMG5mOq.js"),__vite__mapDeps([34,33,7,9,10,11,12,13,14,2,3,4]),import.meta.url);return{id:Sl,diagram:t}},z_={id:Sl,detector:P_,loader:q_},W_=z_,wl="journey",H_=t=>/^\s*journey/.test(t),j_=async()=>{const{diagram:t}=await Z(()=>import("./journeyDiagram-deae3313.qk1fbuUl.js"),__vite__mapDeps([35,1,23,14,2,3,4]),import.meta.url);return{id:wl,diagram:t}},U_={id:wl,detector:H_,loader:j_},Y_=U_,V_=function(t,e){for(let i of e)t.attr(i[0],i[1])},G_=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Bl=function(t,e,i,r){const n=G_(e,i,r);V_(t,n)},X_=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;L.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;L.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,L.info(`Calculated bounds: ${a}x${l}`),Bl(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},qi={},K_=(t,e,i)=>{let r="";return t in qi&&qi[t]?r=qi[t](i):L.warn(`No theme found for ${t}`),` & { font-family: ${i.fontFamily}; font-size: ${i.fontSize}; fill: ${i.textColor} @@ -57,7 +57,7 @@ import{_ as Z}from"./entry.q1HaRjkf.js";import{c as lh,g as hh}from"./_commonjsH ${e} `},Z_=(t,e)=>{e!==void 0&&(qi[t]=e)},J_=K_;let Un="",Yn="",Vn="";const Gn=t=>fi(t,Mt()),Q_=()=>{Un="",Vn="",Yn=""},ty=t=>{Un=Gn(t).replace(/^\s+/g,"")},ey=()=>Un,iy=t=>{Vn=Gn(t).replace(/\n\s+/g,` `)},ry=()=>Vn,ny=t=>{Yn=Gn(t)},oy=()=>Yn,sy=Object.freeze(Object.defineProperty({__proto__:null,clear:Q_,getAccDescription:ry,getAccTitle:ey,getDiagramTitle:oy,setAccDescription:iy,setAccTitle:ty,setDiagramTitle:ny},Symbol.toStringTag,{value:"Module"})),ay=L,ly=qn,Xn=Mt,Lb=al,Eb=$e,hy=t=>fi(t,Xn()),cy=X_,uy=()=>sy,nr={},or=(t,e,i)=>{var r;if(nr[t])throw new Error(`Diagram ${t} already registered.`);nr[t]=e,i&&tl(t,i),Z_(t,e.styles),(r=e.injectUtils)==null||r.call(e,ay,ly,Xn,hy,cy,uy(),()=>{})},Kn=t=>{if(t in nr)return nr[t];throw new fy(t)};class fy extends Error{constructor(e){super(`Diagram ${e} not found.`)}}const dy=t=>{var e;const{securityLevel:i}=Xn();let r=bt("body");if(i==="sandbox"){const s=((e=bt(`#i${t}`).node())==null?void 0:e.contentDocument)??document;r=bt(s.body)}return r.select(`#${t}`)},py=(t,e,i)=>{L.debug(`renering svg for syntax error -`);const r=dy(e);r.attr("viewBox","0 0 2412 512"),Bl(r,100,512,!0);const 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}`)},Al={draw:py},gy=Al,my={db:{},renderer:Al,parser:{parser:{yy:{}},parse:()=>{}}},_y=my,Fl="flowchart-elk",yy=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},Cy=async()=>{const{diagram:t}=await Z(()=>import("./flowchart-elk-definition-e097735e.yxP0468I.js"),__vite__mapDeps([36,6,10,11,12,13,14,4,2,3]),import.meta.url);return{id:Fl,diagram:t}},xy={id:Fl,detector:yy,loader:Cy},by=xy,Ll="timeline",Ty=t=>/^\s*timeline/.test(t),vy=async()=>{const{diagram:t}=await Z(()=>import("./timeline-definition-732a2638.QSBqIbe2.js"),__vite__mapDeps([37,23,14,2,3,4]),import.meta.url);return{id:Ll,diagram:t}},ky={id:Ll,detector:Ty,loader:vy},Sy=ky,El="mindmap",wy=t=>/^\s*mindmap/.test(t),By=async()=>{const{diagram:t}=await Z(()=>import("./mindmap-definition-617cf8dd.1uSA4U6s.js"),__vite__mapDeps([38,11,4,2,3]),import.meta.url);return{id:El,diagram:t}},Ay={id:El,detector:wy,loader:By},Fy=Ay,Ol="sankey",Ly=t=>/^\s*sankey-beta/.test(t),Ey=async()=>{const{diagram:t}=await Z(()=>import("./sankeyDiagram-6db3d513.bBHtPBWg.js"),__vite__mapDeps([39,24,20,2,3,4]),import.meta.url);return{id:Ol,diagram:t}},Oy={id:Ol,detector:Ly,loader:Ey},My=Oy;let bs=!1;const Zn=()=>{bs||(bs=!0,or("error",_y,t=>t.toLowerCase().trim()==="error"),or("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},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("---")),Qa(R0,I_,L_,K0,n_,a_,c_,T_,w_,by,Y0,W0,Fy,Sy,t_,W_,R_,Y_,p_,My,y_))};class Ml{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text+=` +`);const r=dy(e);r.attr("viewBox","0 0 2412 512"),Bl(r,100,512,!0);const 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}`)},Al={draw:py},gy=Al,my={db:{},renderer:Al,parser:{parser:{yy:{}},parse:()=>{}}},_y=my,Fl="flowchart-elk",yy=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},Cy=async()=>{const{diagram:t}=await Z(()=>import("./flowchart-elk-definition-e097735e.rzBaTVVI.js"),__vite__mapDeps([36,6,10,11,12,13,14,4,2,3]),import.meta.url);return{id:Fl,diagram:t}},xy={id:Fl,detector:yy,loader:Cy},by=xy,Ll="timeline",Ty=t=>/^\s*timeline/.test(t),vy=async()=>{const{diagram:t}=await Z(()=>import("./timeline-definition-732a2638.635c9l2G.js"),__vite__mapDeps([37,23,14,2,3,4]),import.meta.url);return{id:Ll,diagram:t}},ky={id:Ll,detector:Ty,loader:vy},Sy=ky,El="mindmap",wy=t=>/^\s*mindmap/.test(t),By=async()=>{const{diagram:t}=await Z(()=>import("./mindmap-definition-617cf8dd.1Dy2TcNE.js"),__vite__mapDeps([38,11,4,2,3]),import.meta.url);return{id:El,diagram:t}},Ay={id:El,detector:wy,loader:By},Fy=Ay,Ol="sankey",Ly=t=>/^\s*sankey-beta/.test(t),Ey=async()=>{const{diagram:t}=await Z(()=>import("./sankeyDiagram-6db3d513.Wx8AFF7K.js"),__vite__mapDeps([39,24,20,2,3,4]),import.meta.url);return{id:Ol,diagram:t}},Oy={id:Ol,detector:Ly,loader:Ey},My=Oy;let bs=!1;const Zn=()=>{bs||(bs=!0,or("error",_y,t=>t.toLowerCase().trim()==="error"),or("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},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("---")),Qa(R0,I_,L_,K0,n_,a_,c_,T_,w_,by,Y0,W0,Fy,Sy,t_,W_,R_,Y_,p_,My,y_))};class Ml{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text+=` `;const r=Mt();try{this.type=wr(e,r)}catch(o){this.type="error",this.detectError=o}const n=Kn(this.type);L.debug("Type "+this.type),this.db=n.db,this.renderer=n.renderer,this.parser=n.parser,this.parser.parser.yy=this.db,this.init=n.init,this.parse()}parse(){var e,i,r,n,o;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e);const s=Mt();(r=this.init)==null||r.call(this,s),this.metadata.title&&((o=(n=this.db).setDiagramTitle)==null||o.call(n,this.metadata.title)),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 Jn=async(t,e={})=>{const i=wr(t,Mt());try{Kn(i)}catch{const n=r0(i);if(!n)throw new Ja(`Diagram ${i} not found.`);const{id:o,diagram:s}=await n();or(o,s)}return new Ml(t,e)};let xn=[];const Ob=t=>{xn.push(t)},Iy=()=>{xn.forEach(t=>{t()}),xn=[]},$y="graphics-document document";function Dy(t,e){t.attr("role",$y),e!==""&&t.attr("aria-roledescription",e)}function Ny(t,e,i,r){if(t.insert!==void 0){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)}}}const Ry=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Il(t){return typeof t>"u"||t===null}function Py(t){return typeof t=="object"&&t!==null}function qy(t){return Array.isArray(t)?t:Il(t)?[]:[t]}function zy(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;ia&&(o=" ... ",e=r-a+o.length),i-r>a&&(s=" ...",i=r+a-s.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+s,pos:r-e+o.length}}function Kr(t,e){return lt.repeat(" ",e-t.length)+t}function Ky(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],o,s=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,h,u=Math.min(t.line+e.linesAfter,n.length).toString().length,f=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)h=Xr(t.buffer,r[s-l],n[s-l],t.position-(r[s]-r[s-l]),f),a=lt.repeat(" ",e.indent)+Kr((t.line-l+1).toString(),u)+" | "+h.str+` @@ -86,7 +86,7 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` */window.addEventListener("load",Kl,!1)}const cb=function(t){It.parseError=t},hr=[];let Jr=!1;const Zl=async()=>{if(!Jr){for(Jr=!0;hr.length>0;){const t=hr.shift();if(t)try{await t()}catch(e){L.error("Error executing queue",e)}}Jr=!1}},ub=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,s)=>{me.parse(t,e).then(a=>{o(a),i(a)},a=>{var l;L.error("Error parsing",a),(l=It.parseError)==null||l.call(It,a),s(a),r(a)})});hr.push(n),Zl().catch(r)}),Jl=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((s,a)=>{me.render(t,e,i).then(l=>{s(l),r(l)},l=>{var h;L.error("Error parsing",l),(h=It.parseError)==null||h.call(It,l),a(l),n(l)})});hr.push(o),Zl().catch(n)}),It={startOnLoad:!0,mermaidAPI:me,parse:ub,render:Jl,init:lb,run:Gl,registerExternalDiagrams:hb,initialize:Xl,parseError:void 0,contentLoaded:Kl,setParseErrorHandler:cb,detectType:wr};export{ne as $,Q_ as A,yi as B,Re as C,tr as D,_e as E,xr as F,Ig as G,bm as H,_i as I,Qi as J,Kg as K,Wg as L,Ag as M,Na as N,La as O,Ap as P,Fp as Q,Am as R,Zi as S,ss as T,Tg as U,Lp as V,Dn as W,Bp as X,Ip as Y,Pe as Z,Bg as _,ry as a,Ob as a$,mr as a0,es as a1,Nn as a2,Oa as a3,Da as a4,Pa as a5,Sp as a6,Dt as a7,Zg as a8,Jg as a9,Ks as aA,pb as aB,fh as aC,Sn as aD,te as aE,si as aF,Eo as aG,cu as aH,dy as aI,Tb as aJ,t0 as aK,nl as aL,jn as aM,Fn as aN,_b as aO,xb as aP,Ro as aQ,No as aR,bb as aS,Cb as aT,gb as aU,mb as aV,kb as aW,vb as aX,yb as aY,Gm as aZ,Mt as a_,$n as aa,mn as ab,qp as ac,Hg as ad,In as ae,Gr as af,em as ag,Ct as ah,Ys as ai,xh as aj,$ as ak,Ot as al,Kp as am,Qe as an,Kx as ao,Ef as ap,ch as aq,Lb as ar,Sb as as,cy as at,x0 as au,kn as av,Vs as aw,gt as ax,gi as ay,ru as az,iy as b,n0 as b0,y0 as b1,sy as b2,mi as b3,A as b4,O as b5,Xn as c,fi as d,ot as e,ir as f,ey as g,bt as h,Bl as i,zn as j,S0 as k,L as l,It as m,Ms as n,vr as o,Af as p,_0 as q,Ga as r,ty as s,c0 as t,X_ as u,Eb as v,v0 as w,ny as x,oy as y,ii as z}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["./c4Diagram-817c8e44.8vSvBO8E.js","./svgDrawCommon-ad5ef572.xEe9aykG.js","./entry.q1HaRjkf.js","./entry.vYS37YVg.css","./_commonjsHelpers.5-cIlDoe.js","./flowDiagram-61eb444c.HtnM_56Q.js","./flowDb-170db09d.C3nGUORL.js","./layout.m-I5JUDt.js","./styles-b966c4ae.YmD_K0mm.js","./index-67a42d7d.xUqpZOgv.js","./edges-80f1ebb6.sUApLEFd.js","./createText-aebacdfe.T0gmTUMP.js","./line.GPn4lxsZ.js","./array.Nw74a44z.js","./path.aUcfwwLI.js","./flowDiagram-v2-2f8f667a.FYcPW-iT.js","./erDiagram-9cfc3649.jYxaA5Bi.js","./gitGraphDiagram-6b463803.rnjGXCwl.js","./ganttDiagram-db6931fb.Z_lKYWBP.js","./linear.eWEBA0QA.js","./init.Hi12RPRh.js","./infoDiagram-a336098b.IO5q47lF.js","./pieDiagram-a5166659.1goZTjMF.js","./arc.qN4MtU4T.js","./ordinal.d2xiFBCc.js","./quadrantDiagram-6c355bbc.uri_Pjpj.js","./xychartDiagram-f746c04c.81MrJfP4.js","./requirementDiagram-4038b16c.gcs3M0d5.js","./sequenceDiagram-465a088a.app30z5a.js","./classDiagram-48ab76fb.gLlPfGHk.js","./styles-4ba6ed67.BJp1BgDu.js","./classDiagram-v2-8ecb0bfc.dqc82LgD.js","./stateDiagram-b620d43f.2pkn0URt.js","./styles-bbc3fe3b.jgBLhPFl.js","./stateDiagram-v2-2671c3d1.P7fXP-3K.js","./journeyDiagram-deae3313.ZuElExma.js","./flowchart-elk-definition-e097735e.yxP0468I.js","./timeline-definition-732a2638.QSBqIbe2.js","./mindmap-definition-617cf8dd.1uSA4U6s.js","./sankeyDiagram-6db3d513.bBHtPBWg.js"] + __vite__mapDeps.viteFileDeps = ["./c4Diagram-817c8e44.jwmik79h.js","./svgDrawCommon-ad5ef572.m9jf1X3z.js","./entry.DMNM28aL.js","./entry.vYS37YVg.css","./_commonjsHelpers.5-cIlDoe.js","./flowDiagram-61eb444c.ppyp2WN6.js","./flowDb-170db09d.7WV-jgHZ.js","./layout.nII1iIDV.js","./styles-b966c4ae.U5vEx3p_.js","./index-67a42d7d.V6muVu2_.js","./edges-80f1ebb6.d3gBK9Nl.js","./createText-aebacdfe.wmc7v5UB.js","./line.ik9Fl7Dj.js","./array.Nw74a44z.js","./path.aUcfwwLI.js","./flowDiagram-v2-2f8f667a.cLw1ukf0.js","./erDiagram-9cfc3649.M6UFOU5W.js","./gitGraphDiagram-6b463803.FEPj0aII.js","./ganttDiagram-db6931fb.KbuX0LsH.js","./linear.4Z5a_r3t.js","./init.Hi12RPRh.js","./infoDiagram-a336098b.N6yAVH6y.js","./pieDiagram-a5166659.y596tFGp.js","./arc.ndZ8SnWc.js","./ordinal.d2xiFBCc.js","./quadrantDiagram-6c355bbc.8-jw_S-G.js","./xychartDiagram-f746c04c.myk7Rj4p.js","./requirementDiagram-4038b16c.k1YNoqU0.js","./sequenceDiagram-465a088a.PVKE0tRJ.js","./classDiagram-48ab76fb.D_lcLS0a.js","./styles-4ba6ed67.bD9c0s06.js","./classDiagram-v2-8ecb0bfc.bgcmPq0w.js","./stateDiagram-b620d43f.PcXmIe49.js","./styles-bbc3fe3b.ETVheMDN.js","./stateDiagram-v2-2671c3d1.5LMG5mOq.js","./journeyDiagram-deae3313.qk1fbuUl.js","./flowchart-elk-definition-e097735e.rzBaTVVI.js","./timeline-definition-732a2638.635c9l2G.js","./mindmap-definition-617cf8dd.1Dy2TcNE.js","./sankeyDiagram-6db3d513.Wx8AFF7K.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } diff --git a/_nuxt/mindmap-definition-617cf8dd.1uSA4U6s.js b/_nuxt/mindmap-definition-617cf8dd.1Dy2TcNE.js similarity index 99% rename from _nuxt/mindmap-definition-617cf8dd.1uSA4U6s.js rename to _nuxt/mindmap-definition-617cf8dd.1Dy2TcNE.js index 7badbfd927..0090235f53 100644 --- a/_nuxt/mindmap-definition-617cf8dd.1uSA4U6s.js +++ b/_nuxt/mindmap-definition-617cf8dd.1Dy2TcNE.js @@ -1,4 +1,4 @@ -import{d as bp,c as nn,l as qr,h as ei,u as Ep,b3 as wp,b4 as xp,b5 as Tp}from"./mermaid-934d9bea.A2NtSsGH.js";import{c as Cp}from"./createText-aebacdfe.T0gmTUMP.js";import{c as Ca,g as Vu}from"./_commonjsHelpers.5-cIlDoe.js";import"./entry.q1HaRjkf.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.kItSCnbi.js b/_nuxt/page.WH-au3PE.js similarity index 90% rename from _nuxt/page.kItSCnbi.js rename to _nuxt/page.WH-au3PE.js index 09afced0f9..c61ef938fc 100644 --- a/_nuxt/page.kItSCnbi.js +++ b/_nuxt/page.WH-au3PE.js @@ -1 +1 @@ -import{d as r,ax as p,E as l,c as i,g as _,w as u,L as n,aB as f,b as m,e as h,ae as x,k as g}from"./entry.q1HaRjkf.js";const k={class:"page-layout"},B=r({__name:"page",setup(v){const{config:e}=p();return l({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,C)=>{var a,s,t,o;const c=f;return m(),i("div",k,[_(c,{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(()=>[h("article",null,[x(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}}),y=g(B,[["__scopeId","data-v-5f91769d"]]);export{y as default}; +import{d as r,ax as p,E as l,c as i,g as _,w as u,L as n,aB as f,b as m,e as h,ae as x,k as g}from"./entry.DMNM28aL.js";const k={class:"page-layout"},B=r({__name:"page",setup(v){const{config:e}=p();return l({link:{rel:"search",type:"application/opensearchdescription+xml",href:"opensearch.xml"}}),(d,C)=>{var a,s,t,o;const c=f;return m(),i("div",k,[_(c,{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(()=>[h("article",null,[x(d.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}}),y=g(B,[["__scopeId","data-v-5f91769d"]]);export{y as default}; diff --git a/_nuxt/pieDiagram-a5166659.1goZTjMF.js b/_nuxt/pieDiagram-a5166659.y596tFGp.js similarity index 98% rename from _nuxt/pieDiagram-a5166659.1goZTjMF.js rename to _nuxt/pieDiagram-a5166659.y596tFGp.js index 6ef28c6c34..be93c33aa3 100644 --- a/_nuxt/pieDiagram-a5166659.1goZTjMF.js +++ b/_nuxt/pieDiagram-a5166659.y596tFGp.js @@ -1,4 +1,4 @@ -import{aJ as q,aK as at,x as lt,y as ot,s as ct,g as ht,b as ut,a as yt,A as ft,d as pt,c as et,l as it,aL as gt,aI as dt,i as mt,aM as _t}from"./mermaid-934d9bea.A2NtSsGH.js";import{a as tt}from"./arc.qN4MtU4T.js";import{o as vt}from"./ordinal.d2xiFBCc.js";import{a as xt}from"./array.Nw74a44z.js";import{c as F}from"./path.aUcfwwLI.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";function kt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=kt,$=null,f=F(0),b=F(q),A=F(0);function c(r){var l,g=(r=xt(r)).length,S,w,O=0,m=new Array(g),k=new Array(g),_=+f.apply(this,arguments),h=Math.min(q,Math.max(-q,b.apply(this,arguments)-_)),T,I=Math.min(Math.abs(h)/g,A.apply(this,arguments)),p=I*(h<0?-1:1),t;for(l=0;l0&&(O+=t);for(u!=null?m.sort(function(i,n){return u(k[i],k[n])}):$!=null&&m.sort(function(i,n){return $(r[i],r[n])}),l=0,w=O?(h-g*p)/O:0;l0?t*w:0)+p,k[S]={data:r[S],index:l,value:t,startAngle:_,endAngle:T,padAngle:I};return k}return c.value=function(r){return arguments.length?(e=typeof r=="function"?r:F(+r),c):e},c.sortValues=function(r){return arguments.length?(u=r,$=null,c):u},c.sort=function(r){return arguments.length?($=r,u=null,c):$},c.startAngle=function(r){return arguments.length?(f=typeof r=="function"?r:F(+r),c):f},c.endAngle=function(r){return arguments.length?(b=typeof r=="function"?r:F(+r),c):b},c.padAngle=function(r){return arguments.length?(A=typeof r=="function"?r:F(+r),c):A},c}var H=function(){var e=function(p,t,i,n){for(i=i||{},n=p.length;n--;i[p[n]]=t);return i},u=[1,3],$=[1,4],f=[1,5],b=[1,6],A=[1,10,12,14,16,18,19,20,21,22],c=[2,4],r=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],g=[2,7],S=[1,12],w=[1,13],O=[1,14],m=[1,15],k=[1,16],_=[1,17],h={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",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:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,a,o,s,P){var v=s.length-1;switch(o){case 3:a.setShowData(!0);break;case 6:this.$=s[v-1];break;case 8:a.addSection(s[v-1],a.cleanupValue(s[v]));break;case 9:this.$=s[v].trim(),a.setDiagramTitle(this.$);break;case 10:this.$=s[v].trim(),a.setAccTitle(this.$);break;case 11:case 12:this.$=s[v].trim(),a.setAccDescription(this.$);break;case 13:a.addSection(s[v].substr(8)),this.$=s[v].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:f,22:b},{1:[3]},{3:7,4:2,5:u,20:$,21:f,22:b},e(A,c,{6:8,7:[1,9]}),e(r,[2,14]),e(r,[2,15]),e(r,[2,16]),{1:[2,1]},e(l,g,{8:10,9:11,1:[2,2],10:S,12:w,14:O,16:m,18:k,19:_}),e(A,c,{6:18}),e(A,[2,5]),{4:19,20:$,21:f,22:b},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,g,{8:10,9:11,1:[2,3],10:S,12:w,14:O,16:m,18:k,19:_}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],a=[],o=[null],s=[],P=this.table,v="",d=0,V=0,z=2,M=1,B=s.slice.call(arguments,1),y=Object.create(this.lexer),L={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(L.yy[Y]=this.yy[Y]);y.setInput(t,L.yy),L.yy.lexer=y,L.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var J=y.yylloc;s.push(J);var st=y.options&&y.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=a.pop()||y.lex()||M,typeof C!="number"&&(C instanceof Array&&(a=C,C=a.pop()),C=i.symbols_[C]||C),C}for(var x,N,E,K,R={},j,D,X,W;;){if(N=n[n.length-1],this.defaultActions[N]?E=this.defaultActions[N]:((x===null||typeof x>"u")&&(x=rt()),E=P[N]&&P[N][x]),typeof E>"u"||!E.length||!E[0]){var Z="";W=[];for(j in P[N])this.terminals_[j]&&j>z&&W.push("'"+this.terminals_[j]+"'");y.showPosition?Z="Parse error on line "+(d+1)+`: +import{aJ as q,aK as at,x as lt,y as ot,s as ct,g as ht,b as ut,a as yt,A as ft,d as pt,c as et,l as it,aL as gt,aI as dt,i as mt,aM as _t}from"./mermaid-934d9bea.1859dh9d.js";import{a as tt}from"./arc.ndZ8SnWc.js";import{o as vt}from"./ordinal.d2xiFBCc.js";import{a as xt}from"./array.Nw74a44z.js";import{c as F}from"./path.aUcfwwLI.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";function kt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=kt,$=null,f=F(0),b=F(q),A=F(0);function c(r){var l,g=(r=xt(r)).length,S,w,O=0,m=new Array(g),k=new Array(g),_=+f.apply(this,arguments),h=Math.min(q,Math.max(-q,b.apply(this,arguments)-_)),T,I=Math.min(Math.abs(h)/g,A.apply(this,arguments)),p=I*(h<0?-1:1),t;for(l=0;l0&&(O+=t);for(u!=null?m.sort(function(i,n){return u(k[i],k[n])}):$!=null&&m.sort(function(i,n){return $(r[i],r[n])}),l=0,w=O?(h-g*p)/O:0;l0?t*w:0)+p,k[S]={data:r[S],index:l,value:t,startAngle:_,endAngle:T,padAngle:I};return k}return c.value=function(r){return arguments.length?(e=typeof r=="function"?r:F(+r),c):e},c.sortValues=function(r){return arguments.length?(u=r,$=null,c):u},c.sort=function(r){return arguments.length?($=r,u=null,c):$},c.startAngle=function(r){return arguments.length?(f=typeof r=="function"?r:F(+r),c):f},c.endAngle=function(r){return arguments.length?(b=typeof r=="function"?r:F(+r),c):b},c.padAngle=function(r){return arguments.length?(A=typeof r=="function"?r:F(+r),c):A},c}var H=function(){var e=function(p,t,i,n){for(i=i||{},n=p.length;n--;i[p[n]]=t);return i},u=[1,3],$=[1,4],f=[1,5],b=[1,6],A=[1,10,12,14,16,18,19,20,21,22],c=[2,4],r=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],g=[2,7],S=[1,12],w=[1,13],O=[1,14],m=[1,15],k=[1,16],_=[1,17],h={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",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:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,a,o,s,P){var v=s.length-1;switch(o){case 3:a.setShowData(!0);break;case 6:this.$=s[v-1];break;case 8:a.addSection(s[v-1],a.cleanupValue(s[v]));break;case 9:this.$=s[v].trim(),a.setDiagramTitle(this.$);break;case 10:this.$=s[v].trim(),a.setAccTitle(this.$);break;case 11:case 12:this.$=s[v].trim(),a.setAccDescription(this.$);break;case 13:a.addSection(s[v].substr(8)),this.$=s[v].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:f,22:b},{1:[3]},{3:7,4:2,5:u,20:$,21:f,22:b},e(A,c,{6:8,7:[1,9]}),e(r,[2,14]),e(r,[2,15]),e(r,[2,16]),{1:[2,1]},e(l,g,{8:10,9:11,1:[2,2],10:S,12:w,14:O,16:m,18:k,19:_}),e(A,c,{6:18}),e(A,[2,5]),{4:19,20:$,21:f,22:b},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,g,{8:10,9:11,1:[2,3],10:S,12:w,14:O,16:m,18:k,19:_}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],a=[],o=[null],s=[],P=this.table,v="",d=0,V=0,z=2,M=1,B=s.slice.call(arguments,1),y=Object.create(this.lexer),L={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(L.yy[Y]=this.yy[Y]);y.setInput(t,L.yy),L.yy.lexer=y,L.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var J=y.yylloc;s.push(J);var st=y.options&&y.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=a.pop()||y.lex()||M,typeof C!="number"&&(C instanceof Array&&(a=C,C=a.pop()),C=i.symbols_[C]||C),C}for(var x,N,E,K,R={},j,D,X,W;;){if(N=n[n.length-1],this.defaultActions[N]?E=this.defaultActions[N]:((x===null||typeof x>"u")&&(x=rt()),E=P[N]&&P[N][x]),typeof E>"u"||!E.length||!E[0]){var Z="";W=[];for(j in P[N])this.terminals_[j]&&j>z&&W.push("'"+this.terminals_[j]+"'");y.showPosition?Z="Parse error on line "+(d+1)+`: `+y.showPosition()+` Expecting `+W.join(", ")+", got '"+(this.terminals_[x]||x)+"'":Z="Parse error on line "+(d+1)+": Unexpected "+(x==M?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(Z,{text:y.match,token:this.terminals_[x]||x,line:y.yylineno,loc:J,expected:W})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+x);switch(E[0]){case 1:n.push(x),o.push(y.yytext),s.push(y.yylloc),n.push(E[1]),x=null,V=y.yyleng,v=y.yytext,d=y.yylineno,J=y.yylloc;break;case 2:if(D=this.productions_[E[1]][1],R.$=o[o.length-D],R._$={first_line:s[s.length-(D||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(D||1)].first_column,last_column:s[s.length-1].last_column},st&&(R._$.range=[s[s.length-(D||1)].range[0],s[s.length-1].range[1]]),K=this.performAction.apply(R,[v,V,d,L.yy,E[1],o,s].concat(B)),typeof K<"u")return K;D&&(n=n.slice(0,-1*D*2),o=o.slice(0,-1*D),s=s.slice(0,-1*D)),n.push(this.productions_[E[1]][0]),o.push(R.$),s.push(R._$),X=P[n[n.length-2]][n[n.length-1]],n.push(X);break;case 3:return!0}}return!0}},T=function(){var p={EOF:1,parseError:function(i,n){if(this.yy.parser)this.yy.parser.parseError(i,n);else throw new Error(i)},setInput:function(t,i){return this.yy=i||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 i=t.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),t},unput:function(t){var i=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var a=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 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:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[o[0],o[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(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(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/_nuxt/quadrantDiagram-6c355bbc.uri_Pjpj.js b/_nuxt/quadrantDiagram-6c355bbc.8-jw_S-G.js similarity index 99% rename from _nuxt/quadrantDiagram-6c355bbc.uri_Pjpj.js rename to _nuxt/quadrantDiagram-6c355bbc.8-jw_S-G.js index 7b2b48d6c7..06df62343c 100644 --- a/_nuxt/quadrantDiagram-6c355bbc.uri_Pjpj.js +++ b/_nuxt/quadrantDiagram-6c355bbc.8-jw_S-G.js @@ -1,4 +1,4 @@ -import{aZ as vt,c as yt,aK as D,l as ot,s as Lt,g as Ct,x as zt,y as bt,a as Et,b as Dt,A as It,h as gt,i as Bt,d as wt}from"./mermaid-934d9bea.A2NtSsGH.js";import{l as _t}from"./linear.eWEBA0QA.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],_=[1,33],m=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points: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,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",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",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Z.yy[dt]=this.yy[dt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,J,H,xt,tt={},rt,$,mt,lt;;){if(J=l[l.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=Pt()),H=et[J]&&et[J][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[J])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: +import{aZ as vt,c as yt,aK as D,l as ot,s as Lt,g as Ct,x as zt,y as bt,a as Et,b as Dt,A as It,h as gt,i as Bt,d as wt}from"./mermaid-934d9bea.1859dh9d.js";import{l as _t}from"./linear.4Z5a_r3t.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],_=[1,33],m=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points: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,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",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",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Z.yy[dt]=this.yy[dt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,J,H,xt,tt={},rt,$,mt,lt;;){if(J=l[l.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=Pt()),H=et[J]&&et[J][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[J])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: `+E.showPosition()+` Expecting `+lt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ft="Parse error on line "+(st+1)+": Unexpected "+(W==Tt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ft,{text:E.match,token:this.terminals_[W]||W,line:E.yylineno,loc:ut,expected:lt})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+W);switch(H[0]){case 1:l.push(W),q.push(E.yytext),a.push(E.yylloc),l.push(H[1]),W=null,qt=E.yyleng,u=E.yytext,st=E.yylineno,ut=E.yylloc;break;case 2:if($=this.productions_[H[1]][1],tt.$=q[q.length-$],tt._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},Ft&&(tt._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),xt=this.performAction.apply(tt,[u,qt,st,Z.yy,H[1],q,a].concat(kt)),typeof xt<"u")return xt;$&&(l=l.slice(0,-1*$*2),q=q.slice(0,-1*$),a=a.slice(0,-1*$)),l.push(this.productions_[H[1]][0]),q.push(tt.$),a.push(tt._$),mt=et[l[l.length-2]][l[l.length-1]],l.push(mt);break;case 3:return!0}}return!0}},At=function(){var K={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(n,r){return this.yy=r||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 r=n.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),n},unput:function(n){var r=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var o=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 q=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===o.length?this.yylloc.first_column:0)+o[o.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[q[0],q[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(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(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/_nuxt/requirementDiagram-4038b16c.gcs3M0d5.js b/_nuxt/requirementDiagram-4038b16c.k1YNoqU0.js similarity index 99% rename from _nuxt/requirementDiagram-4038b16c.gcs3M0d5.js rename to _nuxt/requirementDiagram-4038b16c.k1YNoqU0.js index d3a5b3045b..0efb69bae3 100644 --- a/_nuxt/requirementDiagram-4038b16c.gcs3M0d5.js +++ b/_nuxt/requirementDiagram-4038b16c.k1YNoqU0.js @@ -1,4 +1,4 @@ -import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,A as Pe,h as oe,i as Ye,j as ke}from"./mermaid-934d9bea.A2NtSsGH.js";import{G as Ue,l as Be}from"./layout.m-I5JUDt.js";import{l as Qe}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";var ce=function(){var e=function(V,i,r,a){for(r=r||{},a=V.length;a--;r[V[a]]=i);return r},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],j=[1,69],z=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(i,r,a,n,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[_-3],s[_-4]);break;case 14:n.setNewReqId(s[_-2]);break;case 15:n.setNewReqText(s[_-2]);break;case 16:n.setNewReqRisk(s[_-2]);break;case 17:n.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[_-3]);break;case 34:n.setNewElementType(s[_-2]);break;case 35:n.setNewElementDocRef(s[_-2]);break;case 38:n.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:n.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:z,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:110,47:X,49:J},{5:j,30:z,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=r,a}},parse:function(i){var r=this,a=[0],n=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,re)&&(L.yy[re]=this.yy[re]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=n.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(n=$,$=n.pop()),$=r.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: +import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,A as Pe,h as oe,i as Ye,j as ke}from"./mermaid-934d9bea.1859dh9d.js";import{G as Ue,l as Be}from"./layout.nII1iIDV.js";import{l as Qe}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";var ce=function(){var e=function(V,i,r,a){for(r=r||{},a=V.length;a--;r[V[a]]=i);return r},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],j=[1,69],z=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(i,r,a,n,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[_-3],s[_-4]);break;case 14:n.setNewReqId(s[_-2]);break;case 15:n.setNewReqText(s[_-2]);break;case 16:n.setNewReqRisk(s[_-2]);break;case 17:n.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[_-3]);break;case 34:n.setNewElementType(s[_-2]);break;case 35:n.setNewElementDocRef(s[_-2]);break;case 38:n.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:n.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:z,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:110,47:X,49:J},{5:j,30:z,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=r,a}},parse:function(i){var r=this,a=[0],n=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,re)&&(L.yy[re]=this.yy[re]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=n.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(n=$,$=n.pop()),$=r.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: `+E.showPosition()+` Expecting `+te.join(", ")+", got '"+(this.terminals_[I]||I)+"'":le="Parse error on line "+(Z+1)+": Unexpected "+(I==Ie?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(le,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:se,expected:te})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+I);switch(S[0]){case 1:a.push(I),f.push(E.yytext),s.push(E.yylloc),a.push(S[1]),I=null,me=E.yyleng,_=E.yytext,Z=E.yylineno,se=E.yylloc;break;case 2:if(w=this.productions_[S[1]][1],Q.$=f[f.length-w],Q._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},Oe&&(Q._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),ae=this.performAction.apply(Q,[_,me,Z,L.yy,S[1],f,s].concat(qe)),typeof ae<"u")return ae;w&&(a=a.slice(0,-1*w*2),f=f.slice(0,-1*w),s=s.slice(0,-1*w)),a.push(this.productions_[S[1]][0]),f.push(Q.$),s.push(Q._$),be=W[a[a.length-2]][a[a.length-1]],a.push(be);break;case 3:return!0}}return!0}},$e=function(){var V={EOF:1,parseError:function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,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 i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.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),i},unput:function(i){var r=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;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 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:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[f[0],f[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(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/_nuxt/sankeyDiagram-6db3d513.bBHtPBWg.js b/_nuxt/sankeyDiagram-6db3d513.Wx8AFF7K.js similarity index 99% rename from _nuxt/sankeyDiagram-6db3d513.bBHtPBWg.js rename to _nuxt/sankeyDiagram-6db3d513.Wx8AFF7K.js index c801098a5b..b2665503da 100644 --- a/_nuxt/sankeyDiagram-6db3d513.bBHtPBWg.js +++ b/_nuxt/sankeyDiagram-6db3d513.Wx8AFF7K.js @@ -1,4 +1,4 @@ -import{c as rt,g as mt,s as _t,a as kt,b as xt,y as vt,x as bt,A as wt,j as St,v as Lt,h as Y,i as Et}from"./mermaid-934d9bea.A2NtSsGH.js";import{o as At}from"./ordinal.d2xiFBCc.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";function Tt(t){for(var n=t.length/6|0,i=new Array(n),l=0;l=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i=u)&&(i=u)}return i}function yt(t,n){let i;if(n===void 0)for(const l of t)l!=null&&(i>l||i===void 0&&l>=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i>u||i===void 0&&u>=u)&&(i=u)}return i}function Z(t,n){let i=0;if(n===void 0)for(let l of t)(l=+l)&&(i+=l);else{let l=-1;for(let u of t)(u=+n(u,++l,t))&&(i+=u)}return i}function Nt(t){return t.target.depth}function Pt(t){return t.depth}function Ct(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function It(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Nt)-1:0}function G(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function Ot(t){return t.index}function $t(t){return t.nodes}function zt(t){return t.links}function ct(t,n){const i=t.get(n);if(!i)throw new Error("missing: "+n);return i}function ut({nodes:t}){for(const n of t){let i=n.y0,l=i;for(const u of n.sourceLinks)u.y0=i+u.width/2,i+=u.width;for(const u of n.targetLinks)u.y1=l+u.width/2,l+=u.width}}function jt(){let t=0,n=0,i=1,l=1,u=24,k=8,g,m=Ot,s=dt,o,c,p=$t,b=zt,y=6;function x(){const e={nodes:p.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(m=typeof e=="function"?e:G(e),x):m},x.nodeAlign=function(e){return arguments.length?(s=typeof e=="function"?e:G(e),x):s},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(k=g=+e,x):k},x.nodes=function(e){return arguments.length?(p=typeof e=="function"?e:G(e),x):p},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:G(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,i=+e[0],l=+e[1],x):[i-t,l-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],l=+e[1][1],x):[[t,n],[i,l]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const a=new Map(e.map((h,r)=>[m(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:_,target:v}=r;typeof _!="object"&&(_=r.source=ct(a,_)),typeof v!="object"&&(v=r.target=ct(a,v)),_.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const _ of a){_.depth=r;for(const{target:v}of _.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function N({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const _ of a){_.height=r;for(const{source:v}of _.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,a=(i-t-u)/(f-1),h=new Array(f);for(const r of e){const _=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=_,r.x0=t+_*a,r.x1=r.x0+u,h[_]?h[_].push(r):h[_]=[r]}if(o)for(const r of h)r.sort(o);return h}function z(e){const f=yt(e,a=>(l-n-(a.length-1)*g)/Z(a,J));for(const a of e){let h=n;for(const r of a){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const _ of r.sourceLinks)_.width=_.value*f}h=(l-h+g)/(a.length+1);for(let r=0;ra.length)-1)),z(f);for(let a=0;a0))continue;let V=(U/j-v.y0)*f;v.y0+=V,v.y1+=V,w(v)}o===void 0&&_.sort(H),P(_,a)}}function $(e,f,a){for(let h=e.length,r=h-2;r>=0;--r){const _=e[r];for(const v of _){let U=0,j=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);U+=R(v,W)*F,j+=F}if(!(j>0))continue;let V=(U/j-v.y0)*f;v.y0+=V,v.y1+=V,w(v)}o===void 0&&_.sort(H),P(_,a)}}function P(e,f){const a=e.length>>1,h=e[a];d(e,h.y0-g,a-1,f),C(e,h.y1+g,a+1,f),d(e,l,e.length-1,f),C(e,n,0,f)}function C(e,f,a,h){for(;a1e-6&&(r.y0+=_,r.y1+=_),f=r.y1+g}}function d(e,f,a,h){for(;a>=0;--a){const r=e[a],_=(r.y1-f)*h;_>1e-6&&(r.y0-=_,r.y1-=_),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:a}}of f)a.sort(at);for(const{target:{targetLinks:a}}of e)a.sort(lt)}}function O(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:a}of e)f.sort(at),a.sort(lt)}function T(e,f){let a=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a-=r}return a}function R(e,f){let a=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a-=r}return a}return x}var tt=Math.PI,et=2*tt,D=1e-6,Dt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,l){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+l)},bezierCurveTo:function(t,n,i,l,u,k){this._+="C"+ +t+","+ +n+","+ +i+","+ +l+","+(this._x1=+u)+","+(this._y1=+k)},arcTo:function(t,n,i,l,u){t=+t,n=+n,i=+i,l=+l,u=+u;var k=this._x1,g=this._y1,m=i-t,s=l-n,o=k-t,c=g-n,p=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(p>D)if(!(Math.abs(c*m-s*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=i-k,y=l-g,x=m*m+s*s,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(p),N=u*Math.tan((tt-Math.acos((x+p-E)/(2*L*A)))/2),I=N/A,z=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+z*m)+","+(this._y1=n+z*s)}},arc:function(t,n,i,l,u,k){t=+t,n=+n,i=+i,k=!!k;var g=i*Math.cos(l),m=i*Math.sin(l),s=t+g,o=n+m,c=1^k,p=k?l-u:u-l;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+s+","+o),i&&(p<0&&(p=p%et+et),p>Dt?this._+="A"+i+","+i+",0,1,"+c+","+(t-g)+","+(n-m)+"A"+i+","+i+",0,1,"+c+","+(this._x1=s)+","+(this._y1=o):p>D&&(this._+="A"+i+","+i+",0,"+ +(p>=tt)+","+c+","+(this._x1=t+i*Math.cos(u))+","+(this._y1=n+i*Math.sin(u))))},rect:function(t,n,i,l){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +l+"h"+-i+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Bt(t){return t[0]}function Rt(t){return t[1]}var Ut=Array.prototype.slice;function Vt(t){return t.source}function Wt(t){return t.target}function Ft(t){var n=Vt,i=Wt,l=Bt,u=Rt,k=null;function g(){var m,s=Ut.call(arguments),o=n.apply(this,s),c=i.apply(this,s);if(k||(k=m=gt()),t(k,+l.apply(this,(s[0]=o,s)),+u.apply(this,s),+l.apply(this,(s[0]=c,s)),+u.apply(this,s)),m)return k=null,m+""||null}return g.source=function(m){return arguments.length?(n=m,g):n},g.target=function(m){return arguments.length?(i=m,g):i},g.x=function(m){return arguments.length?(l=typeof m=="function"?m:ht(+m),g):l},g.y=function(m){return arguments.length?(u=typeof m=="function"?m:ht(+m),g):u},g.context=function(m){return arguments.length?(k=m??null,g):k},g}function Yt(t,n,i,l,u){t.moveTo(n,i),t.bezierCurveTo(n=(n+l)/2,i,n,u,l,u)}function Gt(){return Ft(Yt)}function Ht(t){return[t.source.x1,t.y0]}function Xt(t){return[t.target.x0,t.y1]}function qt(){return Gt().source(Ht).target(Xt)}var it=function(){var t=function(m,s,o,c){for(o=o||{},c=m.length;c--;o[m[c]]=s);return o},n=[1,9],i=[1,10],l=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(s,o,c,p,b,y,x){var E=y.length-1;switch(b){case 7:const L=p.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=p.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());p.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:i},{15:18,16:7,17:8,18:n,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:n,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(s,o){if(o.recoverable)this.trace(s);else{var c=new Error(s);throw c.hash=o,c}},parse:function(s){var o=this,c=[0],p=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,z=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(M.yy[$]=this.yy[$]);S.setInput(s,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=p.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(p=v,v=p.pop()),v=o.symbols_[v]||v),v}for(var w,O,T,R,e={},f,a,h,r;;){if(O=c[c.length-1],this.defaultActions[O]?T=this.defaultActions[O]:((w===null||typeof w>"u")&&(w=d()),T=x[O]&&x[O][w]),typeof T>"u"||!T.length||!T[0]){var _="";r=[];for(f in x[O])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?_="Parse error on line "+(L+1)+`: +import{c as rt,g as mt,s as _t,a as kt,b as xt,y as vt,x as bt,A as wt,j as St,v as Lt,h as Y,i as Et}from"./mermaid-934d9bea.1859dh9d.js";import{o as At}from"./ordinal.d2xiFBCc.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./init.Hi12RPRh.js";function Tt(t){for(var n=t.length/6|0,i=new Array(n),l=0;l=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i=u)&&(i=u)}return i}function yt(t,n){let i;if(n===void 0)for(const l of t)l!=null&&(i>l||i===void 0&&l>=l)&&(i=l);else{let l=-1;for(let u of t)(u=n(u,++l,t))!=null&&(i>u||i===void 0&&u>=u)&&(i=u)}return i}function Z(t,n){let i=0;if(n===void 0)for(let l of t)(l=+l)&&(i+=l);else{let l=-1;for(let u of t)(u=+n(u,++l,t))&&(i+=u)}return i}function Nt(t){return t.target.depth}function Pt(t){return t.depth}function Ct(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function It(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Nt)-1:0}function G(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function Ot(t){return t.index}function $t(t){return t.nodes}function zt(t){return t.links}function ct(t,n){const i=t.get(n);if(!i)throw new Error("missing: "+n);return i}function ut({nodes:t}){for(const n of t){let i=n.y0,l=i;for(const u of n.sourceLinks)u.y0=i+u.width/2,i+=u.width;for(const u of n.targetLinks)u.y1=l+u.width/2,l+=u.width}}function jt(){let t=0,n=0,i=1,l=1,u=24,k=8,g,m=Ot,s=dt,o,c,p=$t,b=zt,y=6;function x(){const e={nodes:p.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(m=typeof e=="function"?e:G(e),x):m},x.nodeAlign=function(e){return arguments.length?(s=typeof e=="function"?e:G(e),x):s},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(k=g=+e,x):k},x.nodes=function(e){return arguments.length?(p=typeof e=="function"?e:G(e),x):p},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:G(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,i=+e[0],l=+e[1],x):[i-t,l-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],l=+e[1][1],x):[[t,n],[i,l]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const a=new Map(e.map((h,r)=>[m(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:_,target:v}=r;typeof _!="object"&&(_=r.source=ct(a,_)),typeof v!="object"&&(v=r.target=ct(a,v)),_.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const _ of a){_.depth=r;for(const{target:v}of _.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function N({nodes:e}){const f=e.length;let a=new Set(e),h=new Set,r=0;for(;a.size;){for(const _ of a){_.height=r;for(const{source:v}of _.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");a=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,a=(i-t-u)/(f-1),h=new Array(f);for(const r of e){const _=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=_,r.x0=t+_*a,r.x1=r.x0+u,h[_]?h[_].push(r):h[_]=[r]}if(o)for(const r of h)r.sort(o);return h}function z(e){const f=yt(e,a=>(l-n-(a.length-1)*g)/Z(a,J));for(const a of e){let h=n;for(const r of a){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const _ of r.sourceLinks)_.width=_.value*f}h=(l-h+g)/(a.length+1);for(let r=0;ra.length)-1)),z(f);for(let a=0;a0))continue;let V=(U/j-v.y0)*f;v.y0+=V,v.y1+=V,w(v)}o===void 0&&_.sort(H),P(_,a)}}function $(e,f,a){for(let h=e.length,r=h-2;r>=0;--r){const _=e[r];for(const v of _){let U=0,j=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);U+=R(v,W)*F,j+=F}if(!(j>0))continue;let V=(U/j-v.y0)*f;v.y0+=V,v.y1+=V,w(v)}o===void 0&&_.sort(H),P(_,a)}}function P(e,f){const a=e.length>>1,h=e[a];d(e,h.y0-g,a-1,f),C(e,h.y1+g,a+1,f),d(e,l,e.length-1,f),C(e,n,0,f)}function C(e,f,a,h){for(;a1e-6&&(r.y0+=_,r.y1+=_),f=r.y1+g}}function d(e,f,a,h){for(;a>=0;--a){const r=e[a],_=(r.y1-f)*h;_>1e-6&&(r.y0-=_,r.y1-=_),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:a}}of f)a.sort(at);for(const{target:{targetLinks:a}}of e)a.sort(lt)}}function O(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:a}of e)f.sort(at),a.sort(lt)}function T(e,f){let a=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a-=r}return a}function R(e,f){let a=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;a+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;a-=r}return a}return x}var tt=Math.PI,et=2*tt,D=1e-6,Dt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,l){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+l)},bezierCurveTo:function(t,n,i,l,u,k){this._+="C"+ +t+","+ +n+","+ +i+","+ +l+","+(this._x1=+u)+","+(this._y1=+k)},arcTo:function(t,n,i,l,u){t=+t,n=+n,i=+i,l=+l,u=+u;var k=this._x1,g=this._y1,m=i-t,s=l-n,o=k-t,c=g-n,p=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(p>D)if(!(Math.abs(c*m-s*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=i-k,y=l-g,x=m*m+s*s,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(p),N=u*Math.tan((tt-Math.acos((x+p-E)/(2*L*A)))/2),I=N/A,z=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+z*m)+","+(this._y1=n+z*s)}},arc:function(t,n,i,l,u,k){t=+t,n=+n,i=+i,k=!!k;var g=i*Math.cos(l),m=i*Math.sin(l),s=t+g,o=n+m,c=1^k,p=k?l-u:u-l;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+s+","+o),i&&(p<0&&(p=p%et+et),p>Dt?this._+="A"+i+","+i+",0,1,"+c+","+(t-g)+","+(n-m)+"A"+i+","+i+",0,1,"+c+","+(this._x1=s)+","+(this._y1=o):p>D&&(this._+="A"+i+","+i+",0,"+ +(p>=tt)+","+c+","+(this._x1=t+i*Math.cos(u))+","+(this._y1=n+i*Math.sin(u))))},rect:function(t,n,i,l){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +l+"h"+-i+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Bt(t){return t[0]}function Rt(t){return t[1]}var Ut=Array.prototype.slice;function Vt(t){return t.source}function Wt(t){return t.target}function Ft(t){var n=Vt,i=Wt,l=Bt,u=Rt,k=null;function g(){var m,s=Ut.call(arguments),o=n.apply(this,s),c=i.apply(this,s);if(k||(k=m=gt()),t(k,+l.apply(this,(s[0]=o,s)),+u.apply(this,s),+l.apply(this,(s[0]=c,s)),+u.apply(this,s)),m)return k=null,m+""||null}return g.source=function(m){return arguments.length?(n=m,g):n},g.target=function(m){return arguments.length?(i=m,g):i},g.x=function(m){return arguments.length?(l=typeof m=="function"?m:ht(+m),g):l},g.y=function(m){return arguments.length?(u=typeof m=="function"?m:ht(+m),g):u},g.context=function(m){return arguments.length?(k=m??null,g):k},g}function Yt(t,n,i,l,u){t.moveTo(n,i),t.bezierCurveTo(n=(n+l)/2,i,n,u,l,u)}function Gt(){return Ft(Yt)}function Ht(t){return[t.source.x1,t.y0]}function Xt(t){return[t.target.x0,t.y1]}function qt(){return Gt().source(Ht).target(Xt)}var it=function(){var t=function(m,s,o,c){for(o=o||{},c=m.length;c--;o[m[c]]=s);return o},n=[1,9],i=[1,10],l=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(s,o,c,p,b,y,x){var E=y.length-1;switch(b){case 7:const L=p.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=p.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());p.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:i},{15:18,16:7,17:8,18:n,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:n,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(s,o){if(o.recoverable)this.trace(s);else{var c=new Error(s);throw c.hash=o,c}},parse:function(s){var o=this,c=[0],p=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,z=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(M.yy[$]=this.yy[$]);S.setInput(s,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=p.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(p=v,v=p.pop()),v=o.symbols_[v]||v),v}for(var w,O,T,R,e={},f,a,h,r;;){if(O=c[c.length-1],this.defaultActions[O]?T=this.defaultActions[O]:((w===null||typeof w>"u")&&(w=d()),T=x[O]&&x[O][w]),typeof T>"u"||!T.length||!T[0]){var _="";r=[];for(f in x[O])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?_="Parse error on line "+(L+1)+`: `+S.showPosition()+` Expecting `+r.join(", ")+", got '"+(this.terminals_[w]||w)+"'":_="Parse error on line "+(L+1)+": Unexpected "+(w==I?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(_,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:P,expected:r})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+w);switch(T[0]){case 1:c.push(w),b.push(S.yytext),y.push(S.yylloc),c.push(T[1]),w=null,A=S.yyleng,E=S.yytext,L=S.yylineno,P=S.yylloc;break;case 2:if(a=this.productions_[T[1]][1],e.$=b[b.length-a],e._$={first_line:y[y.length-(a||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(a||1)].first_column,last_column:y[y.length-1].last_column},C&&(e._$.range=[y[y.length-(a||1)].range[0],y[y.length-1].range[1]]),R=this.performAction.apply(e,[E,A,L,M.yy,T[1],b,y].concat(z)),typeof R<"u")return R;a&&(c=c.slice(0,-1*a*2),b=b.slice(0,-1*a),y=y.slice(0,-1*a)),c.push(this.productions_[T[1]][0]),b.push(e.$),y.push(e._$),h=x[c[c.length-2]][c[c.length-1]],c.push(h);break;case 3:return!0}}return!0}},k=function(){var m={EOF:1,parseError:function(o,c){if(this.yy.parser)this.yy.parser.parseError(o,c);else throw new Error(o)},setInput:function(s,o){return this.yy=o||this.yy||{},this._input=s,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 s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var o=s.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),s},unput:function(s){var o=s.length,c=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var p=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),c.length-1&&(this.yylineno-=c.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:c?(c.length===p.length?this.yylloc.first_column:0)+p[p.length-c.length].length-c[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[b[0],b[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(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var s=this.pastInput(),o=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/_nuxt/sequenceDiagram-465a088a.app30z5a.js b/_nuxt/sequenceDiagram-465a088a.PVKE0tRJ.js similarity index 99% rename from _nuxt/sequenceDiagram-465a088a.app30z5a.js rename to _nuxt/sequenceDiagram-465a088a.PVKE0tRJ.js index f6fca18a8b..652e11f98a 100644 --- a/_nuxt/sequenceDiagram-465a088a.app30z5a.js +++ b/_nuxt/sequenceDiagram-465a088a.PVKE0tRJ.js @@ -1,4 +1,4 @@ -import{g as ke,y as Le,x as Ie,c as dt,s as ae,b as Ae,a as Ne,A as Se,l as U,d as Mt,j as w,e as Me,h as St,i as Re,z as O,n as re,aM as oe,a$ as De,b0 as Ve}from"./mermaid-934d9bea.A2NtSsGH.js";import{d as Ce,a as Oe,g as Rt,b as Be,c as Ye,e as Gt}from"./svgDrawCommon-ad5ef572.xEe9aykG.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";var qt=function(){var t=function(ht,m,_,k){for(_=_||{},k=ht.length;k--;_[ht[k]]=m);return _},e=[1,2],o=[1,3],i=[1,4],s=[2,4],n=[1,9],c=[1,11],h=[1,13],p=[1,14],a=[1,16],x=[1,17],E=[1,18],u=[1,24],g=[1,25],b=[1,26],P=[1,27],I=[1,28],R=[1,29],N=[1,30],F=[1,31],S=[1,32],tt=[1,33],W=[1,34],K=[1,35],Z=[1,36],q=[1,37],Y=[1,38],C=[1,39],G=[1,41],z=[1,42],X=[1,43],Q=[1,44],j=[1,45],y=[1,46],v=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],L=[4,5,16,50,52,53],pt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],et=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],A=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],$t=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],lt=[68,69,70],nt=[1,120],Ct={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(m,_,k,T,M,l,vt){var d=l.length-1;switch(M){case 3:return T.apply(l[d]),l[d];case 4:case 9:this.$=[];break;case 5:case 10:l[d-1].push(l[d]),this.$=l[d-1];break;case 6:case 7:case 11:case 12:this.$=l[d];break;case 8:case 13:this.$=[];break;case 15:l[d].type="createParticipant",this.$=l[d];break;case 16:l[d-1].unshift({type:"boxStart",boxData:T.parseBoxData(l[d-2])}),l[d-1].push({type:"boxEnd",boxText:l[d-2]}),this.$=l[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[d-2]),sequenceIndexStep:Number(l[d-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[d-1]};break;case 23:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[d-1]};break;case 29:T.setDiagramTitle(l[d].substring(6)),this.$=l[d].substring(6);break;case 30:T.setDiagramTitle(l[d].substring(7)),this.$=l[d].substring(7);break;case 31:this.$=l[d].trim(),T.setAccTitle(this.$);break;case 32:case 33:this.$=l[d].trim(),T.setAccDescription(this.$);break;case 34:l[d-1].unshift({type:"loopStart",loopText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.LOOP_START}),l[d-1].push({type:"loopEnd",loopText:l[d-2],signalType:T.LINETYPE.LOOP_END}),this.$=l[d-1];break;case 35:l[d-1].unshift({type:"rectStart",color:T.parseMessage(l[d-2]),signalType:T.LINETYPE.RECT_START}),l[d-1].push({type:"rectEnd",color:T.parseMessage(l[d-2]),signalType:T.LINETYPE.RECT_END}),this.$=l[d-1];break;case 36:l[d-1].unshift({type:"optStart",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.OPT_START}),l[d-1].push({type:"optEnd",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.OPT_END}),this.$=l[d-1];break;case 37:l[d-1].unshift({type:"altStart",altText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.ALT_START}),l[d-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=l[d-1];break;case 38:l[d-1].unshift({type:"parStart",parText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.PAR_START}),l[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[d-1];break;case 39:l[d-1].unshift({type:"parStart",parText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.PAR_OVER_START}),l[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[d-1];break;case 40:l[d-1].unshift({type:"criticalStart",criticalText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.CRITICAL_START}),l[d-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=l[d-1];break;case 41:l[d-1].unshift({type:"breakStart",breakText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.BREAK_START}),l[d-1].push({type:"breakEnd",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.BREAK_END}),this.$=l[d-1];break;case 43:this.$=l[d-3].concat([{type:"option",optionText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.CRITICAL_OPTION},l[d]]);break;case 45:this.$=l[d-3].concat([{type:"and",parText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.PAR_AND},l[d]]);break;case 47:this.$=l[d-3].concat([{type:"else",altText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.ALT_ELSE},l[d]]);break;case 48:l[d-3].draw="participant",l[d-3].type="addParticipant",l[d-3].description=T.parseMessage(l[d-1]),this.$=l[d-3];break;case 49:l[d-1].draw="participant",l[d-1].type="addParticipant",this.$=l[d-1];break;case 50:l[d-3].draw="actor",l[d-3].type="addParticipant",l[d-3].description=T.parseMessage(l[d-1]),this.$=l[d-3];break;case 51:l[d-1].draw="actor",l[d-1].type="addParticipant",this.$=l[d-1];break;case 52:l[d-1].type="destroyParticipant",this.$=l[d-1];break;case 53:this.$=[l[d-1],{type:"addNote",placement:l[d-2],actor:l[d-1].actor,text:l[d]}];break;case 54:l[d-2]=[].concat(l[d-1],l[d-1]).slice(0,2),l[d-2][0]=l[d-2][0].actor,l[d-2][1]=l[d-2][1].actor,this.$=[l[d-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:l[d-2].slice(0,2),text:l[d]}];break;case 55:this.$=[l[d-1],{type:"addLinks",actor:l[d-1].actor,text:l[d]}];break;case 56:this.$=[l[d-1],{type:"addALink",actor:l[d-1].actor,text:l[d]}];break;case 57:this.$=[l[d-1],{type:"addProperties",actor:l[d-1].actor,text:l[d]}];break;case 58:this.$=[l[d-1],{type:"addDetails",actor:l[d-1].actor,text:l[d]}];break;case 61:this.$=[l[d-2],l[d]];break;case 62:this.$=l[d];break;case 63:this.$=T.PLACEMENT.LEFTOF;break;case 64:this.$=T.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[d-4],l[d-1],{type:"addMessage",from:l[d-4].actor,to:l[d-1].actor,signalType:l[d-3],msg:l[d],activate:!0},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[d-1]}];break;case 66:this.$=[l[d-4],l[d-1],{type:"addMessage",from:l[d-4].actor,to:l[d-1].actor,signalType:l[d-3],msg:l[d]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[d-4]}];break;case 67:this.$=[l[d-3],l[d-1],{type:"addMessage",from:l[d-3].actor,to:l[d-1].actor,signalType:l[d-2],msg:l[d]}];break;case 68:this.$={type:"addParticipant",actor:l[d]};break;case 69:this.$=T.LINETYPE.SOLID_OPEN;break;case 70:this.$=T.LINETYPE.DOTTED_OPEN;break;case 71:this.$=T.LINETYPE.SOLID;break;case 72:this.$=T.LINETYPE.DOTTED;break;case 73:this.$=T.LINETYPE.SOLID_CROSS;break;case 74:this.$=T.LINETYPE.DOTTED_CROSS;break;case 75:this.$=T.LINETYPE.SOLID_POINT;break;case 76:this.$=T.LINETYPE.DOTTED_POINT;break;case 77:this.$=T.parseMessage(l[d].trim().substring(1));break}},table:[{3:1,4:e,5:o,6:i},{1:[3]},{3:5,4:e,5:o,6:i},{3:6,4:e,5:o,6:i},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},t(v,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},t(v,[2,7]),t(v,[2,8]),t(v,[2,14]),{12:48,50:q,52:Y,53:C},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:y},{22:55,70:y},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(v,[2,29]),t(v,[2,30]),{32:[1,61]},{34:[1,62]},t(v,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:y},{22:72,70:y},{22:73,70:y},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:y},{22:88,70:y},{22:89,70:y},{22:90,70:y},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(v,[2,6]),t(v,[2,15]),t(L,[2,9],{10:91}),t(v,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(v,[2,21]),{5:[1,95]},{5:[1,96]},t(v,[2,24]),t(v,[2,25]),t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,31]),t(v,[2,32]),t(pt,s,{7:97}),t(pt,s,{7:98}),t(pt,s,{7:99}),t(et,s,{40:100,7:101}),t(A,s,{42:102,7:103}),t(A,s,{7:103,42:104}),t($t,s,{45:105,7:106}),t(pt,s,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:y},t(lt,[2,69]),t(lt,[2,70]),t(lt,[2,71]),t(lt,[2,72]),t(lt,[2,73]),t(lt,[2,74]),t(lt,[2,75]),t(lt,[2,76]),{22:116,70:y},{22:118,58:117,70:y},{70:[2,63]},{70:[2,64]},{56:119,79:nt},{56:121,79:nt},{56:122,79:nt},{56:123,79:nt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:q,52:Y,53:C},{5:[1,129]},t(v,[2,19]),t(v,[2,20]),t(v,[2,22]),t(v,[2,23]),{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,130],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,131],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,133]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,49:[1,134],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,135]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,48:[1,136],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,137]},{16:[1,138]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,47:[1,139],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,140],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{15:[1,141]},t(v,[2,49]),{15:[1,142]},t(v,[2,51]),t(v,[2,52]),{22:143,70:y},{22:144,70:y},{56:145,79:nt},{56:146,79:nt},{56:147,79:nt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(v,[2,16]),t(L,[2,10]),{12:149,50:q,52:Y,53:C},t(L,[2,12]),t(L,[2,13]),t(v,[2,18]),t(v,[2,34]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),{15:[1,150]},t(v,[2,38]),{15:[1,151]},t(v,[2,39]),t(v,[2,40]),{15:[1,152]},t(v,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:nt},{56:156,79:nt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:y},t(L,[2,11]),t(et,s,{7:101,40:158}),t(A,s,{7:103,42:159}),t($t,s,{7:106,45:160}),t(v,[2,48]),t(v,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(m,_){if(_.recoverable)this.trace(m);else{var k=new Error(m);throw k.hash=_,k}},parse:function(m){var _=this,k=[0],T=[],M=[null],l=[],vt=this.table,d="",It=0,te=0,we=2,ee=1,ve=l.slice.call(arguments,1),B=Object.create(this.lexer),ut={yy:{}};for(var Bt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Bt)&&(ut.yy[Bt]=this.yy[Bt]);B.setInput(m,ut.yy),ut.yy.lexer=B,ut.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var Yt=B.yylloc;l.push(Yt);var _e=B.options&&B.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var rt;return rt=T.pop()||B.lex()||ee,typeof rt!="number"&&(rt instanceof Array&&(T=rt,rt=T.pop()),rt=_.symbols_[rt]||rt),rt}for(var H,ft,$,Ft,yt={},At,at,ie,Nt;;){if(ft=k[k.length-1],this.defaultActions[ft]?$=this.defaultActions[ft]:((H===null||typeof H>"u")&&(H=Pe()),$=vt[ft]&&vt[ft][H]),typeof $>"u"||!$.length||!$[0]){var Wt="";Nt=[];for(At in vt[ft])this.terminals_[At]&&At>we&&Nt.push("'"+this.terminals_[At]+"'");B.showPosition?Wt="Parse error on line "+(It+1)+`: +import{g as ke,y as Le,x as Ie,c as dt,s as ae,b as Ae,a as Ne,A as Se,l as U,d as Mt,j as w,e as Me,h as St,i as Re,z as O,n as re,aM as oe,a$ as De,b0 as Ve}from"./mermaid-934d9bea.1859dh9d.js";import{d as Ce,a as Oe,g as Rt,b as Be,c as Ye,e as Gt}from"./svgDrawCommon-ad5ef572.m9jf1X3z.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";var qt=function(){var t=function(ht,m,_,k){for(_=_||{},k=ht.length;k--;_[ht[k]]=m);return _},e=[1,2],o=[1,3],i=[1,4],s=[2,4],n=[1,9],c=[1,11],h=[1,13],p=[1,14],a=[1,16],x=[1,17],E=[1,18],u=[1,24],g=[1,25],b=[1,26],P=[1,27],I=[1,28],R=[1,29],N=[1,30],F=[1,31],S=[1,32],tt=[1,33],W=[1,34],K=[1,35],Z=[1,36],q=[1,37],Y=[1,38],C=[1,39],G=[1,41],z=[1,42],X=[1,43],Q=[1,44],j=[1,45],y=[1,46],v=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],L=[4,5,16,50,52,53],pt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],et=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],A=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],$t=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],lt=[68,69,70],nt=[1,120],Ct={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(m,_,k,T,M,l,vt){var d=l.length-1;switch(M){case 3:return T.apply(l[d]),l[d];case 4:case 9:this.$=[];break;case 5:case 10:l[d-1].push(l[d]),this.$=l[d-1];break;case 6:case 7:case 11:case 12:this.$=l[d];break;case 8:case 13:this.$=[];break;case 15:l[d].type="createParticipant",this.$=l[d];break;case 16:l[d-1].unshift({type:"boxStart",boxData:T.parseBoxData(l[d-2])}),l[d-1].push({type:"boxEnd",boxText:l[d-2]}),this.$=l[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[d-2]),sequenceIndexStep:Number(l[d-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[d-1]};break;case 23:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[d-1]};break;case 29:T.setDiagramTitle(l[d].substring(6)),this.$=l[d].substring(6);break;case 30:T.setDiagramTitle(l[d].substring(7)),this.$=l[d].substring(7);break;case 31:this.$=l[d].trim(),T.setAccTitle(this.$);break;case 32:case 33:this.$=l[d].trim(),T.setAccDescription(this.$);break;case 34:l[d-1].unshift({type:"loopStart",loopText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.LOOP_START}),l[d-1].push({type:"loopEnd",loopText:l[d-2],signalType:T.LINETYPE.LOOP_END}),this.$=l[d-1];break;case 35:l[d-1].unshift({type:"rectStart",color:T.parseMessage(l[d-2]),signalType:T.LINETYPE.RECT_START}),l[d-1].push({type:"rectEnd",color:T.parseMessage(l[d-2]),signalType:T.LINETYPE.RECT_END}),this.$=l[d-1];break;case 36:l[d-1].unshift({type:"optStart",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.OPT_START}),l[d-1].push({type:"optEnd",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.OPT_END}),this.$=l[d-1];break;case 37:l[d-1].unshift({type:"altStart",altText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.ALT_START}),l[d-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=l[d-1];break;case 38:l[d-1].unshift({type:"parStart",parText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.PAR_START}),l[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[d-1];break;case 39:l[d-1].unshift({type:"parStart",parText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.PAR_OVER_START}),l[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[d-1];break;case 40:l[d-1].unshift({type:"criticalStart",criticalText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.CRITICAL_START}),l[d-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=l[d-1];break;case 41:l[d-1].unshift({type:"breakStart",breakText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.BREAK_START}),l[d-1].push({type:"breakEnd",optText:T.parseMessage(l[d-2]),signalType:T.LINETYPE.BREAK_END}),this.$=l[d-1];break;case 43:this.$=l[d-3].concat([{type:"option",optionText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.CRITICAL_OPTION},l[d]]);break;case 45:this.$=l[d-3].concat([{type:"and",parText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.PAR_AND},l[d]]);break;case 47:this.$=l[d-3].concat([{type:"else",altText:T.parseMessage(l[d-1]),signalType:T.LINETYPE.ALT_ELSE},l[d]]);break;case 48:l[d-3].draw="participant",l[d-3].type="addParticipant",l[d-3].description=T.parseMessage(l[d-1]),this.$=l[d-3];break;case 49:l[d-1].draw="participant",l[d-1].type="addParticipant",this.$=l[d-1];break;case 50:l[d-3].draw="actor",l[d-3].type="addParticipant",l[d-3].description=T.parseMessage(l[d-1]),this.$=l[d-3];break;case 51:l[d-1].draw="actor",l[d-1].type="addParticipant",this.$=l[d-1];break;case 52:l[d-1].type="destroyParticipant",this.$=l[d-1];break;case 53:this.$=[l[d-1],{type:"addNote",placement:l[d-2],actor:l[d-1].actor,text:l[d]}];break;case 54:l[d-2]=[].concat(l[d-1],l[d-1]).slice(0,2),l[d-2][0]=l[d-2][0].actor,l[d-2][1]=l[d-2][1].actor,this.$=[l[d-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:l[d-2].slice(0,2),text:l[d]}];break;case 55:this.$=[l[d-1],{type:"addLinks",actor:l[d-1].actor,text:l[d]}];break;case 56:this.$=[l[d-1],{type:"addALink",actor:l[d-1].actor,text:l[d]}];break;case 57:this.$=[l[d-1],{type:"addProperties",actor:l[d-1].actor,text:l[d]}];break;case 58:this.$=[l[d-1],{type:"addDetails",actor:l[d-1].actor,text:l[d]}];break;case 61:this.$=[l[d-2],l[d]];break;case 62:this.$=l[d];break;case 63:this.$=T.PLACEMENT.LEFTOF;break;case 64:this.$=T.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[d-4],l[d-1],{type:"addMessage",from:l[d-4].actor,to:l[d-1].actor,signalType:l[d-3],msg:l[d],activate:!0},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[d-1]}];break;case 66:this.$=[l[d-4],l[d-1],{type:"addMessage",from:l[d-4].actor,to:l[d-1].actor,signalType:l[d-3],msg:l[d]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[d-4]}];break;case 67:this.$=[l[d-3],l[d-1],{type:"addMessage",from:l[d-3].actor,to:l[d-1].actor,signalType:l[d-2],msg:l[d]}];break;case 68:this.$={type:"addParticipant",actor:l[d]};break;case 69:this.$=T.LINETYPE.SOLID_OPEN;break;case 70:this.$=T.LINETYPE.DOTTED_OPEN;break;case 71:this.$=T.LINETYPE.SOLID;break;case 72:this.$=T.LINETYPE.DOTTED;break;case 73:this.$=T.LINETYPE.SOLID_CROSS;break;case 74:this.$=T.LINETYPE.DOTTED_CROSS;break;case 75:this.$=T.LINETYPE.SOLID_POINT;break;case 76:this.$=T.LINETYPE.DOTTED_POINT;break;case 77:this.$=T.parseMessage(l[d].trim().substring(1));break}},table:[{3:1,4:e,5:o,6:i},{1:[3]},{3:5,4:e,5:o,6:i},{3:6,4:e,5:o,6:i},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},t(v,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},t(v,[2,7]),t(v,[2,8]),t(v,[2,14]),{12:48,50:q,52:Y,53:C},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:y},{22:55,70:y},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(v,[2,29]),t(v,[2,30]),{32:[1,61]},{34:[1,62]},t(v,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:y},{22:72,70:y},{22:73,70:y},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:y},{22:88,70:y},{22:89,70:y},{22:90,70:y},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(v,[2,6]),t(v,[2,15]),t(L,[2,9],{10:91}),t(v,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(v,[2,21]),{5:[1,95]},{5:[1,96]},t(v,[2,24]),t(v,[2,25]),t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,31]),t(v,[2,32]),t(pt,s,{7:97}),t(pt,s,{7:98}),t(pt,s,{7:99}),t(et,s,{40:100,7:101}),t(A,s,{42:102,7:103}),t(A,s,{7:103,42:104}),t($t,s,{45:105,7:106}),t(pt,s,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:y},t(lt,[2,69]),t(lt,[2,70]),t(lt,[2,71]),t(lt,[2,72]),t(lt,[2,73]),t(lt,[2,74]),t(lt,[2,75]),t(lt,[2,76]),{22:116,70:y},{22:118,58:117,70:y},{70:[2,63]},{70:[2,64]},{56:119,79:nt},{56:121,79:nt},{56:122,79:nt},{56:123,79:nt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:q,52:Y,53:C},{5:[1,129]},t(v,[2,19]),t(v,[2,20]),t(v,[2,22]),t(v,[2,23]),{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,130],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,131],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,133]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,49:[1,134],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,135]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,48:[1,136],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{16:[1,137]},{16:[1,138]},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,47:[1,139],50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{4:n,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,140],17:15,18:a,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:b,33:P,35:I,36:R,37:N,38:F,39:S,41:tt,43:W,44:K,46:Z,50:q,52:Y,53:C,54:G,59:z,60:X,61:Q,62:j,70:y},{15:[1,141]},t(v,[2,49]),{15:[1,142]},t(v,[2,51]),t(v,[2,52]),{22:143,70:y},{22:144,70:y},{56:145,79:nt},{56:146,79:nt},{56:147,79:nt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(v,[2,16]),t(L,[2,10]),{12:149,50:q,52:Y,53:C},t(L,[2,12]),t(L,[2,13]),t(v,[2,18]),t(v,[2,34]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),{15:[1,150]},t(v,[2,38]),{15:[1,151]},t(v,[2,39]),t(v,[2,40]),{15:[1,152]},t(v,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:nt},{56:156,79:nt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:y},t(L,[2,11]),t(et,s,{7:101,40:158}),t(A,s,{7:103,42:159}),t($t,s,{7:106,45:160}),t(v,[2,48]),t(v,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(m,_){if(_.recoverable)this.trace(m);else{var k=new Error(m);throw k.hash=_,k}},parse:function(m){var _=this,k=[0],T=[],M=[null],l=[],vt=this.table,d="",It=0,te=0,we=2,ee=1,ve=l.slice.call(arguments,1),B=Object.create(this.lexer),ut={yy:{}};for(var Bt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Bt)&&(ut.yy[Bt]=this.yy[Bt]);B.setInput(m,ut.yy),ut.yy.lexer=B,ut.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var Yt=B.yylloc;l.push(Yt);var _e=B.options&&B.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var rt;return rt=T.pop()||B.lex()||ee,typeof rt!="number"&&(rt instanceof Array&&(T=rt,rt=T.pop()),rt=_.symbols_[rt]||rt),rt}for(var H,ft,$,Ft,yt={},At,at,ie,Nt;;){if(ft=k[k.length-1],this.defaultActions[ft]?$=this.defaultActions[ft]:((H===null||typeof H>"u")&&(H=Pe()),$=vt[ft]&&vt[ft][H]),typeof $>"u"||!$.length||!$[0]){var Wt="";Nt=[];for(At in vt[ft])this.terminals_[At]&&At>we&&Nt.push("'"+this.terminals_[At]+"'");B.showPosition?Wt="Parse error on line "+(It+1)+`: `+B.showPosition()+` Expecting `+Nt.join(", ")+", got '"+(this.terminals_[H]||H)+"'":Wt="Parse error on line "+(It+1)+": Unexpected "+(H==ee?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(Wt,{text:B.match,token:this.terminals_[H]||H,line:B.yylineno,loc:Yt,expected:Nt})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ft+", token: "+H);switch($[0]){case 1:k.push(H),M.push(B.yytext),l.push(B.yylloc),k.push($[1]),H=null,te=B.yyleng,d=B.yytext,It=B.yylineno,Yt=B.yylloc;break;case 2:if(at=this.productions_[$[1]][1],yt.$=M[M.length-at],yt._$={first_line:l[l.length-(at||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(at||1)].first_column,last_column:l[l.length-1].last_column},_e&&(yt._$.range=[l[l.length-(at||1)].range[0],l[l.length-1].range[1]]),Ft=this.performAction.apply(yt,[d,te,It,ut.yy,$[1],M,l].concat(ve)),typeof Ft<"u")return Ft;at&&(k=k.slice(0,-1*at*2),M=M.slice(0,-1*at),l=l.slice(0,-1*at)),k.push(this.productions_[$[1]][0]),M.push(yt.$),l.push(yt._$),ie=vt[k[k.length-2]][k[k.length-1]],k.push(ie);break;case 3:return!0}}return!0}},me=function(){var ht={EOF:1,parseError:function(_,k){if(this.yy.parser)this.yy.parser.parseError(_,k);else throw new Error(_)},setInput:function(m,_){return this.yy=_||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 _=m.match(/(?:\r\n?|\n).*/g);return _?(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 _=m.length,k=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var T=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),k.length-1&&(this.yylineno-=k.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:k?(k.length===T.length?this.yylloc.first_column:0)+T[T.length-k.length].length-k[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-_]),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(),_=new Array(m.length+1).join("-");return m+this.upcomingInput()+` diff --git a/_nuxt/stateDiagram-b620d43f.2pkn0URt.js b/_nuxt/stateDiagram-b620d43f.PcXmIe49.js similarity index 97% rename from _nuxt/stateDiagram-b620d43f.2pkn0URt.js rename to _nuxt/stateDiagram-b620d43f.PcXmIe49.js index c12532f963..fb29f5010a 100644 --- a/_nuxt/stateDiagram-b620d43f.2pkn0URt.js +++ b/_nuxt/stateDiagram-b620d43f.PcXmIe49.js @@ -1 +1 @@ -import{p as P,d as N,s as W}from"./styles-bbc3fe3b.jgBLhPFl.js";import{c as t,h as H,l as b,i as R,j as T,ap as v,z as U}from"./mermaid-934d9bea.A2NtSsGH.js";import{G as C,l as F}from"./layout.m-I5JUDt.js";import{l as $}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const O=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),X=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),J=(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},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.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(l){a||(o(p,l,r),r=!1),a=!1});const y=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(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+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 d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).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(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.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},L=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"&&O(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"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(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 K=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=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),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:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=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")},D=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}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.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))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,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 P,d as N,s as W}from"./styles-bbc3fe3b.ETVheMDN.js";import{c as t,h as H,l as b,i as R,j as T,ap as v,z as U}from"./mermaid-934d9bea.1859dh9d.js";import{G as C,l as F}from"./layout.nII1iIDV.js";import{l as $}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const O=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),X=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),J=(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},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.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(l){a||(o(p,l,r),r=!1),a=!1});const y=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(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+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 d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).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(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.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},L=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"&&O(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"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(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 K=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=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),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:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=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")},D=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}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.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))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,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-2671c3d1.P7fXP-3K.js b/_nuxt/stateDiagram-v2-2671c3d1.5LMG5mOq.js similarity index 92% rename from _nuxt/stateDiagram-v2-2671c3d1.P7fXP-3K.js rename to _nuxt/stateDiagram-v2-2671c3d1.5LMG5mOq.js index 8e21f8e35e..1de63ceee3 100644 --- a/_nuxt/stateDiagram-v2-2671c3d1.P7fXP-3K.js +++ b/_nuxt/stateDiagram-v2-2671c3d1.5LMG5mOq.js @@ -1 +1 @@ -import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-bbc3fe3b.jgBLhPFl.js";import{G as tt}from"./layout.m-I5JUDt.js";import{l as E,c as g,h as x,z as et,i as ot,j as w}from"./mermaid-934d9bea.A2NtSsGH.js";import{r as st}from"./index-67a42d7d.xUqpZOgv.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./edges-80f1ebb6.sUApLEFd.js";import"./createText-aebacdfe.T0gmTUMP.js";import"./line.GPn4lxsZ.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="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}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.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=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,Y),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Ut as diagram}; +import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-bbc3fe3b.ETVheMDN.js";import{G as tt}from"./layout.nII1iIDV.js";import{l as E,c as g,h as x,z as et,i as ot,j as w}from"./mermaid-934d9bea.1859dh9d.js";import{r as st}from"./index-67a42d7d.V6muVu2_.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./edges-80f1ebb6.d3gBK9Nl.js";import"./createText-aebacdfe.wmc7v5UB.js";import"./line.ik9Fl7Dj.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="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}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,z="fill:none",W="fill: #333",m="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.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=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,Y),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:z,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:m,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:z,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:m,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Ut as diagram}; diff --git a/_nuxt/styles-4ba6ed67.BJp1BgDu.js b/_nuxt/styles-4ba6ed67.bD9c0s06.js similarity index 99% rename from _nuxt/styles-4ba6ed67.BJp1BgDu.js rename to _nuxt/styles-4ba6ed67.bD9c0s06.js index 558155e09e..d0d030f288 100644 --- a/_nuxt/styles-4ba6ed67.BJp1BgDu.js +++ b/_nuxt/styles-4ba6ed67.bD9c0s06.js @@ -1,4 +1,4 @@ -import{s as Xe,g as We,a as qe,b as He,c as F,x as Je,y as Ze,j as v,A as $e,l as et,z as Pe,h as U,d as tt,as as ye}from"./mermaid-934d9bea.A2NtSsGH.js";var De=function(){var e=function(L,u,a,o){for(a=a||{},o=L.length;o--;a[L[o]]=u);return a},n=[1,16],r=[1,17],h=[1,18],l=[1,37],A=[1,38],g=[1,24],D=[1,22],B=[1,23],_=[1,29],ne=[1,30],ue=[1,31],re=[1,32],ae=[1,33],le=[1,34],ce=[1,25],oe=[1,26],he=[1,27],Ae=[1,28],d=[1,42],E=[1,39],C=[1,40],m=[1,41],k=[1,43],pe=[1,9],c=[1,8,9],Y=[1,54],K=[1,55],j=[1,56],Q=[1,57],X=[1,58],fe=[1,59],de=[1,60],W=[1,8,9,38],Ne=[1,71],V=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],q=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],H=[13,84,86,87,88,89],M=[13,63,64,84,86,87,88,89],ve=[13,58,59,60,61,62,84,86,87,88,89],Ee=[1,90],Ce=[1,8,9,36,38,41],J=[1,8,9,21],me={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(u,a,o,i,p,t,G){var s=t.length-1;switch(p){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:i.addRelation(t[s]);break;case 17:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 26:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 27:case 28:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 29:i.addClassesToNamespace(t[s-3],t[s-1]);break;case 30:i.addClassesToNamespace(t[s-4],t[s-1]);break;case 31:this.$=t[s],i.addNamespace(t[s]);break;case 32:this.$=[t[s]];break;case 33:this.$=[t[s-1]];break;case 34:t[s].unshift(t[s-2]),this.$=t[s];break;case 36:i.setCssClass(t[s-2],t[s]);break;case 37:i.addMembers(t[s-3],t[s-1]);break;case 38:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 39:this.$=t[s],i.addClass(t[s]);break;case 40:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 41:i.addAnnotation(t[s],t[s-2]);break;case 42:this.$=[t[s]];break;case 43:t[s].push(t[s-1]),this.$=t[s];break;case 44:break;case 45:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 46:break;case 47:break;case 48:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 51:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 52:i.addNote(t[s],t[s-1]);break;case 53:i.addNote(t[s]);break;case 54:i.setDirection("TB");break;case 55:i.setDirection("BT");break;case 56:i.setDirection("RL");break;case 57:i.setDirection("LR");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: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:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74: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 79:this.$=t[s-3],i.setLink(t[s-2],t[s]);break;case 80:this.$=t[s-4],i.setLink(t[s-3],t[s-1],t[s]);break;case 81:this.$=t[s-4],i.setLink(t[s-3],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 82:this.$=t[s-5],i.setLink(t[s-4],t[s-2],t[s]),i.setTooltip(t[s-4],t[s-1]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(pe,[2,5],{8:[1,44]}),{8:[1,45]},e(c,[2,16],{21:[1,46]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),{31:[1,47]},{33:[1,48]},e(c,[2,28]),e(c,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de}),{36:[1,61]},e(W,[2,35],{36:[1,63],41:[1,62]}),e(c,[2,46]),e(c,[2,47]),{16:64,84:d,86:E,87:C,88:m},{16:35,17:65,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:66,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:67,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,68]},{16:35,17:69,18:36,84:d,86:E,87:C,88:m,89:k},{13:Ne,50:70},e(c,[2,54]),e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(V,[2,11],{16:35,18:36,17:72,19:[1,73],84:d,86:E,87:C,88:m,89:k}),e(V,[2,12],{19:[1,74]}),{15:75,16:76,84:d,86:E,87:C,88:m},{16:35,17:77,18:36,84:d,86:E,87:C,88:m,89:k},e(q,[2,97]),e(q,[2,98]),e(q,[2,99]),e(q,[2,100]),e([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),e(pe,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:n,32:r,34:h,39:l,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},e(c,[2,17]),e(c,[2,26]),e(c,[2,27]),{13:[1,81],16:35,17:80,18:36,84:d,86:E,87:C,88:m,89:k},{48:82,56:52,57:53,58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de},e(c,[2,45]),{57:83,63:fe,64:de},e(H,[2,61],{56:84,58:Y,59:K,60:j,61:Q,62:X}),e(M,[2,62]),e(M,[2,63]),e(M,[2,64]),e(M,[2,65]),e(M,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{8:[1,86],23:87,37:85,40:21,43:A},{16:88,84:d,86:E,87:C,88:m},{42:89,46:Ee},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:d,86:E,87:C,88:m},{13:Ne,50:97},e(c,[2,53]),e(c,[2,102]),e(V,[2,13]),e(V,[2,14]),e(V,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:d,86:E,87:C,88:m},e(Ce,[2,39],{11:99,12:[1,100]}),e(pe,[2,7]),{9:[1,101]},e(J,[2,48]),{16:35,17:102,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,104],16:35,17:103,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,60],{56:105,58:Y,59:K,60:j,61:Q,62:X}),e(H,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:A},{8:[1,108],38:[2,32]},e(W,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:Ee},{16:35,17:112,18:36,84:d,86:E,87:C,88:m,89:k},e(c,[2,69],{13:[1,113]}),e(c,[2,71],{13:[1,115],67:[1,114]}),e(c,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},e(c,[2,83]),e(c,[2,52]),{36:[2,10]},e(Ce,[2,40]),{13:[1,119]},{1:[2,4]},e(J,[2,50]),e(J,[2,49]),{16:35,17:120,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,58]),e(c,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:A},{42:123,46:Ee},e(W,[2,37]),{38:[2,43]},e(c,[2,41]),e(c,[2,70]),e(c,[2,72]),e(c,[2,73],{67:[1,124]}),e(c,[2,76]),e(c,[2,77],{13:[1,125]}),e(c,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},e(J,[2,51]),e(c,[2,30]),{38:[2,34]},{38:[1,129]},e(c,[2,74]),e(c,[2,78]),e(c,[2,80]),e(c,[2,81],{67:[1,130]}),e(Ce,[2,8]),e(W,[2,38]),e(c,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var o=new Error(u);throw o.hash=a,o}},parse:function(u){var a=this,o=[0],i=[],p=[null],t=[],G=this.table,s="",Z=0,Le=0,Ye=2,xe=1,Ke=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(I.yy[ge]=this.yy[ge]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var ke=b.yylloc;t.push(ke);var je=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Qe(){var N;return N=i.pop()||b.lex()||xe,typeof N!="number"&&(N instanceof Array&&(i=N,N=i.pop()),N=a.symbols_[N]||N),N}for(var T,O,y,Te,w={},$,S,Ie,ee;;){if(O=o[o.length-1],this.defaultActions[O]?y=this.defaultActions[O]:((T===null||typeof T>"u")&&(T=Qe()),y=G[O]&&G[O][T]),typeof y>"u"||!y.length||!y[0]){var Fe="";ee=[];for($ in G[O])this.terminals_[$]&&$>Ye&&ee.push("'"+this.terminals_[$]+"'");b.showPosition?Fe="Parse error on line "+(Z+1)+`: +import{s as Xe,g as We,a as qe,b as He,c as F,x as Je,y as Ze,j as v,A as $e,l as et,z as Pe,h as U,d as tt,as as ye}from"./mermaid-934d9bea.1859dh9d.js";var De=function(){var e=function(L,u,a,o){for(a=a||{},o=L.length;o--;a[L[o]]=u);return a},n=[1,16],r=[1,17],h=[1,18],l=[1,37],A=[1,38],g=[1,24],D=[1,22],B=[1,23],_=[1,29],ne=[1,30],ue=[1,31],re=[1,32],ae=[1,33],le=[1,34],ce=[1,25],oe=[1,26],he=[1,27],Ae=[1,28],d=[1,42],E=[1,39],C=[1,40],m=[1,41],k=[1,43],pe=[1,9],c=[1,8,9],Y=[1,54],K=[1,55],j=[1,56],Q=[1,57],X=[1,58],fe=[1,59],de=[1,60],W=[1,8,9,38],Ne=[1,71],V=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],q=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],H=[13,84,86,87,88,89],M=[13,63,64,84,86,87,88,89],ve=[13,58,59,60,61,62,84,86,87,88,89],Ee=[1,90],Ce=[1,8,9,36,38,41],J=[1,8,9,21],me={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(u,a,o,i,p,t,G){var s=t.length-1;switch(p){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:i.addRelation(t[s]);break;case 17:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 26:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 27:case 28:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 29:i.addClassesToNamespace(t[s-3],t[s-1]);break;case 30:i.addClassesToNamespace(t[s-4],t[s-1]);break;case 31:this.$=t[s],i.addNamespace(t[s]);break;case 32:this.$=[t[s]];break;case 33:this.$=[t[s-1]];break;case 34:t[s].unshift(t[s-2]),this.$=t[s];break;case 36:i.setCssClass(t[s-2],t[s]);break;case 37:i.addMembers(t[s-3],t[s-1]);break;case 38:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 39:this.$=t[s],i.addClass(t[s]);break;case 40:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 41:i.addAnnotation(t[s],t[s-2]);break;case 42:this.$=[t[s]];break;case 43:t[s].push(t[s-1]),this.$=t[s];break;case 44:break;case 45:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 46:break;case 47:break;case 48:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 51:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 52:i.addNote(t[s],t[s-1]);break;case 53:i.addNote(t[s]);break;case 54:i.setDirection("TB");break;case 55:i.setDirection("BT");break;case 56:i.setDirection("RL");break;case 57:i.setDirection("LR");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: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:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74: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 79:this.$=t[s-3],i.setLink(t[s-2],t[s]);break;case 80:this.$=t[s-4],i.setLink(t[s-3],t[s-1],t[s]);break;case 81:this.$=t[s-4],i.setLink(t[s-3],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 82:this.$=t[s-5],i.setLink(t[s-4],t[s-2],t[s]),i.setTooltip(t[s-4],t[s-1]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(pe,[2,5],{8:[1,44]}),{8:[1,45]},e(c,[2,16],{21:[1,46]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),{31:[1,47]},{33:[1,48]},e(c,[2,28]),e(c,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de}),{36:[1,61]},e(W,[2,35],{36:[1,63],41:[1,62]}),e(c,[2,46]),e(c,[2,47]),{16:64,84:d,86:E,87:C,88:m},{16:35,17:65,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:66,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:67,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,68]},{16:35,17:69,18:36,84:d,86:E,87:C,88:m,89:k},{13:Ne,50:70},e(c,[2,54]),e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(V,[2,11],{16:35,18:36,17:72,19:[1,73],84:d,86:E,87:C,88:m,89:k}),e(V,[2,12],{19:[1,74]}),{15:75,16:76,84:d,86:E,87:C,88:m},{16:35,17:77,18:36,84:d,86:E,87:C,88:m,89:k},e(q,[2,97]),e(q,[2,98]),e(q,[2,99]),e(q,[2,100]),e([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),e(pe,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:n,32:r,34:h,39:l,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},e(c,[2,17]),e(c,[2,26]),e(c,[2,27]),{13:[1,81],16:35,17:80,18:36,84:d,86:E,87:C,88:m,89:k},{48:82,56:52,57:53,58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de},e(c,[2,45]),{57:83,63:fe,64:de},e(H,[2,61],{56:84,58:Y,59:K,60:j,61:Q,62:X}),e(M,[2,62]),e(M,[2,63]),e(M,[2,64]),e(M,[2,65]),e(M,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{8:[1,86],23:87,37:85,40:21,43:A},{16:88,84:d,86:E,87:C,88:m},{42:89,46:Ee},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:d,86:E,87:C,88:m},{13:Ne,50:97},e(c,[2,53]),e(c,[2,102]),e(V,[2,13]),e(V,[2,14]),e(V,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:d,86:E,87:C,88:m},e(Ce,[2,39],{11:99,12:[1,100]}),e(pe,[2,7]),{9:[1,101]},e(J,[2,48]),{16:35,17:102,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,104],16:35,17:103,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,60],{56:105,58:Y,59:K,60:j,61:Q,62:X}),e(H,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:A},{8:[1,108],38:[2,32]},e(W,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:Ee},{16:35,17:112,18:36,84:d,86:E,87:C,88:m,89:k},e(c,[2,69],{13:[1,113]}),e(c,[2,71],{13:[1,115],67:[1,114]}),e(c,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},e(c,[2,83]),e(c,[2,52]),{36:[2,10]},e(Ce,[2,40]),{13:[1,119]},{1:[2,4]},e(J,[2,50]),e(J,[2,49]),{16:35,17:120,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,58]),e(c,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:A},{42:123,46:Ee},e(W,[2,37]),{38:[2,43]},e(c,[2,41]),e(c,[2,70]),e(c,[2,72]),e(c,[2,73],{67:[1,124]}),e(c,[2,76]),e(c,[2,77],{13:[1,125]}),e(c,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},e(J,[2,51]),e(c,[2,30]),{38:[2,34]},{38:[1,129]},e(c,[2,74]),e(c,[2,78]),e(c,[2,80]),e(c,[2,81],{67:[1,130]}),e(Ce,[2,8]),e(W,[2,38]),e(c,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var o=new Error(u);throw o.hash=a,o}},parse:function(u){var a=this,o=[0],i=[],p=[null],t=[],G=this.table,s="",Z=0,Le=0,Ye=2,xe=1,Ke=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(I.yy[ge]=this.yy[ge]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var ke=b.yylloc;t.push(ke);var je=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Qe(){var N;return N=i.pop()||b.lex()||xe,typeof N!="number"&&(N instanceof Array&&(i=N,N=i.pop()),N=a.symbols_[N]||N),N}for(var T,O,y,Te,w={},$,S,Ie,ee;;){if(O=o[o.length-1],this.defaultActions[O]?y=this.defaultActions[O]:((T===null||typeof T>"u")&&(T=Qe()),y=G[O]&&G[O][T]),typeof y>"u"||!y.length||!y[0]){var Fe="";ee=[];for($ in G[O])this.terminals_[$]&&$>Ye&&ee.push("'"+this.terminals_[$]+"'");b.showPosition?Fe="Parse error on line "+(Z+1)+`: `+b.showPosition()+` Expecting `+ee.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Fe="Parse error on line "+(Z+1)+": Unexpected "+(T==xe?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Fe,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:ke,expected:ee})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+T);switch(y[0]){case 1:o.push(T),p.push(b.yytext),t.push(b.yylloc),o.push(y[1]),T=null,Le=b.yyleng,s=b.yytext,Z=b.yylineno,ke=b.yylloc;break;case 2:if(S=this.productions_[y[1]][1],w.$=p[p.length-S],w._$={first_line:t[t.length-(S||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(S||1)].first_column,last_column:t[t.length-1].last_column},je&&(w._$.range=[t[t.length-(S||1)].range[0],t[t.length-1].range[1]]),Te=this.performAction.apply(w,[s,Le,Z,I.yy,y[1],p,t].concat(Ke)),typeof Te<"u")return Te;S&&(o=o.slice(0,-1*S*2),p=p.slice(0,-1*S),t=t.slice(0,-1*S)),o.push(this.productions_[y[1]][0]),p.push(w.$),t.push(w._$),Ie=G[o[o.length-2]][o[o.length-1]],o.push(Ie);break;case 3:return!0}}return!0}},ze=function(){var L={EOF:1,parseError:function(a,o){if(this.yy.parser)this.yy.parser.parseError(a,o);else throw new Error(a)},setInput:function(u,a){return this.yy=a||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 a=u.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),u},unput:function(u){var a=u.length,o=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;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),o.length-1&&(this.yylineno-=o.length-1);var p=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:o?(o.length===i.length?this.yylloc.first_column:0)+i[i.length-o.length].length-o[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[p[0],p[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(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(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+` diff --git a/_nuxt/styles-b966c4ae.YmD_K0mm.js b/_nuxt/styles-b966c4ae.U5vEx3p_.js similarity index 98% rename from _nuxt/styles-b966c4ae.YmD_K0mm.js rename to _nuxt/styles-b966c4ae.U5vEx3p_.js index 85c3274748..e56d97d09a 100644 --- a/_nuxt/styles-b966c4ae.YmD_K0mm.js +++ b/_nuxt/styles-b966c4ae.U5vEx3p_.js @@ -1,4 +1,4 @@ -import{G as V}from"./layout.m-I5JUDt.js";import{ah as D,ai as M,aj as R,ak as j,al as F,am as U,ae as H,q as N,l as y,r as W,c as C,j as z,t as $,p as E,h as _,z as X,u as J,an as K}from"./mermaid-934d9bea.A2NtSsGH.js";import{r as Q}from"./index-67a42d7d.xUqpZOgv.js";function Y(e){return typeof e=="string"?new D([document.querySelectorAll(e)],[document.documentElement]):new D([R(e)],M)}const Z=(e,r)=>j.lang.round(F.parse(e)[r]);function pe(e,r){return!!e.children(r).length}function be(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var O=/:/g;function L(e){return e?String(e).replace(O,"\\:"):""}function ee(e,r){r&&e.attr("style",r)}function fe(e,r,c){r&&e.attr("class",r).attr("class",c+" "+e.attr("class"))}function ue(e,r){var c=r.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function te(e,r){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=r.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}ee(a,r.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={},le=function(e){const r=Object.keys(e);for(const c of r)G[c]=e[c]},q=function(e,r,c,a,i,d){const u=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const l=e[p];let g="default";l.classes.length>0&&(g=l.classes.join(" ")),g=g+" flowchart-label";const w=N(l.styles);let t=l.text!==void 0?l.text:l.id,s;if(y.info("vertex",l,l.labelType),l.labelType==="markdown")y.info("vertex",l,l.labelType);else if(W(C().flowchart.htmlLabels)){const m={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};s=te(u,m).node(),s.parentNode.removeChild(s)}else{const m=i.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",w.labelStyle.replace("color:","fill:"));const k=t.split(z.lineBreakRegex);for(const T of k){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=T,m.appendChild(v)}s=m}let b=0,o="";switch(l.type){case"round":b=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"}r.setNode(l.id,{labelStyle:w.labelStyle,shape:o,labelText:t,labelType:l.labelType,rx:b,ry:b,class:g,style:w.style,id:l.id,link:l.link,linkTarget:l.linkTarget,tooltip:d.db.getTooltip(l.id)||"",domId:d.db.lookUpDomId(l.id),haveCallback:l.haveCallback,width:l.type==="group"?500:void 0,dir:l.dir,type:l.type,props:l.props,padding:C().flowchart.padding}),y.info("setNode",{labelStyle:w.labelStyle,labelType:l.labelType,shape:o,labelText:t,rx:b,ry:b,class:g,style:w.style,id:l.id,domId:d.db.lookUpDomId(l.id),width:l.type==="group"?500:void 0,type:l.type,dir:l.dir,props:l.props,padding:C().flowchart.padding})})},P=function(e,r,c){y.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=N(e.defaultStyle);d=n.style,u=n.labelStyle}e.forEach(function(n){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,y.info("abc78 new entry",p,i[p])):(i[p]++,y.info("abc78 new entry",p,i[p]));let l=p+"-"+i[p];y.info("abc78 new link id to be used is",p,l,i[p]);const g="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.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 s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),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(n.style!==void 0){const o=N(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=$(n.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=n.text.replace(z.lineBreakRegex,` +import{G as V}from"./layout.nII1iIDV.js";import{ah as D,ai as M,aj as R,ak as j,al as F,am as U,ae as H,q as N,l as y,r as W,c as C,j as z,t as $,p as E,h as _,z as X,u as J,an as K}from"./mermaid-934d9bea.1859dh9d.js";import{r as Q}from"./index-67a42d7d.V6muVu2_.js";function Y(e){return typeof e=="string"?new D([document.querySelectorAll(e)],[document.documentElement]):new D([R(e)],M)}const Z=(e,r)=>j.lang.round(F.parse(e)[r]);function pe(e,r){return!!e.children(r).length}function be(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var O=/:/g;function L(e){return e?String(e).replace(O,"\\:"):""}function ee(e,r){r&&e.attr("style",r)}function fe(e,r,c){r&&e.attr("class",r).attr("class",c+" "+e.attr("class"))}function ue(e,r){var c=r.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function te(e,r){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=r.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}ee(a,r.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={},le=function(e){const r=Object.keys(e);for(const c of r)G[c]=e[c]},q=function(e,r,c,a,i,d){const u=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const l=e[p];let g="default";l.classes.length>0&&(g=l.classes.join(" ")),g=g+" flowchart-label";const w=N(l.styles);let t=l.text!==void 0?l.text:l.id,s;if(y.info("vertex",l,l.labelType),l.labelType==="markdown")y.info("vertex",l,l.labelType);else if(W(C().flowchart.htmlLabels)){const m={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};s=te(u,m).node(),s.parentNode.removeChild(s)}else{const m=i.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",w.labelStyle.replace("color:","fill:"));const k=t.split(z.lineBreakRegex);for(const T of k){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=T,m.appendChild(v)}s=m}let b=0,o="";switch(l.type){case"round":b=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"}r.setNode(l.id,{labelStyle:w.labelStyle,shape:o,labelText:t,labelType:l.labelType,rx:b,ry:b,class:g,style:w.style,id:l.id,link:l.link,linkTarget:l.linkTarget,tooltip:d.db.getTooltip(l.id)||"",domId:d.db.lookUpDomId(l.id),haveCallback:l.haveCallback,width:l.type==="group"?500:void 0,dir:l.dir,type:l.type,props:l.props,padding:C().flowchart.padding}),y.info("setNode",{labelStyle:w.labelStyle,labelType:l.labelType,shape:o,labelText:t,rx:b,ry:b,class:g,style:w.style,id:l.id,domId:d.db.lookUpDomId(l.id),width:l.type==="group"?500:void 0,type:l.type,dir:l.dir,props:l.props,padding:C().flowchart.padding})})},P=function(e,r,c){y.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=N(e.defaultStyle);d=n.style,u=n.labelStyle}e.forEach(function(n){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,y.info("abc78 new entry",p,i[p])):(i[p]++,y.info("abc78 new entry",p,i[p]));let l=p+"-"+i[p];y.info("abc78 new link id to be used is",p,l,i[p]);const g="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.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 s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),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(n.style!==void 0){const o=N(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=$(n.interpolate,E):e.defaultInterpolate!==void 0?t.curve=$(e.defaultInterpolate,E):t.curve=$(G.curve,E),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=n.text.replace(z.lineBreakRegex,` `),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=l,t.classes="flowchart-link "+g+" "+w,r.setEdge(n.start,n.end,t,a)})},re=function(e,r){return r.db.getClasses()},ae=async function(e,r,c,a){y.info("Drawing flowchart");let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:u}=C(),n=u.nodeSpacing||50,p=u.rankSpacing||50;let l;d==="sandbox"&&(l=_("#i"+r));const g=d==="sandbox"?_(l.nodes()[0].contentDocument.body):_("body"),w=d==="sandbox"?l.nodes()[0].contentDocument:document,t=new V({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();y.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],y.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),m=a.db.getEdges();y.info("Edges",m);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],Y("cluster").append("text");for(let f=0;f{const c=Z,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return K(a,i,d,r)},ne=e=>`.label { font-family: ${e.fontFamily}; color: ${e.nodeTextColor||e.textColor}; diff --git a/_nuxt/styles-bbc3fe3b.jgBLhPFl.js b/_nuxt/styles-bbc3fe3b.ETVheMDN.js similarity index 99% rename from _nuxt/styles-bbc3fe3b.jgBLhPFl.js rename to _nuxt/styles-bbc3fe3b.ETVheMDN.js index 1aea014a7f..68ad2494f3 100644 --- a/_nuxt/styles-bbc3fe3b.jgBLhPFl.js +++ b/_nuxt/styles-bbc3fe3b.ETVheMDN.js @@ -1,4 +1,4 @@ -import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,x as Xt,y as Kt,l as D,j as ot,A as Wt,b1 as Jt}from"./mermaid-934d9bea.A2NtSsGH.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",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",30:"NOTE_TEXT",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:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var A=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");A=st[0],O=[O,st[1]]}this.$={stmt:"state",id:A,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",A=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),v={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(v.yy[dt]=this.yy[dt]);S.setInput(r,v.yy),v.yy.lexer=S,v.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(A+1)+`: +import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,x as Xt,y as Kt,l as D,j as ot,A as Wt,b1 as Jt}from"./mermaid-934d9bea.1859dh9d.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",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",30:"NOTE_TEXT",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:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var A=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");A=st[0],O=[O,st[1]]}this.$={stmt:"state",id:A,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",A=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),v={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(v.yy[dt]=this.yy[dt]);S.setInput(r,v.yy),v.yy.lexer=S,v.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(A+1)+`: `+S.showPosition()+` Expecting `+rt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(A+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:yt,expected:rt})}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(_),p.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,l=S.yytext,A=S.yylineno,yt=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=p[p.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},Gt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,A,v.yy,m[1],p,e].concat(ft)),typeof pt<"u")return pt;b&&(i=i.slice(0,-1*b*2),p=p.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),p.push(N.$),e.push(N._$),Ct=$[i[i.length-2]][i[i.length-1]],i.push(Ct);break;case 3:return!0}}return!0}},Yt=function(){var C={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||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 n=r.match(/(?:\r\n?|\n).*/g);return n?(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 n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=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 p=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===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-n]),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(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_nuxt/svgDrawCommon-ad5ef572.xEe9aykG.js b/_nuxt/svgDrawCommon-ad5ef572.m9jf1X3z.js similarity index 95% rename from _nuxt/svgDrawCommon-ad5ef572.xEe9aykG.js rename to _nuxt/svgDrawCommon-ad5ef572.m9jf1X3z.js index 8cb4b7a9f3..c0c84e66de 100644 --- a/_nuxt/svgDrawCommon-ad5ef572.xEe9aykG.js +++ b/_nuxt/svgDrawCommon-ad5ef572.m9jf1X3z.js @@ -1 +1 @@ -import{o,n as i}from"./mermaid-934d9bea.A2NtSsGH.js";const c=(s,t)=>{const r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(const e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},x=(s,t)=>{const r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},d=(s,t)=>{const r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);const n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},h=(s,t,r,e)=>{const n=s.append("image");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",a)},y=(s,t,r,e)=>{const n=s.append("use");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),p=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,y as b,h as c,c as d,p as e,d as f,g}; +import{o,n as i}from"./mermaid-934d9bea.1859dh9d.js";const c=(s,t)=>{const r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(const e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},x=(s,t)=>{const r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},d=(s,t)=>{const r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);const n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},h=(s,t,r,e)=>{const n=s.append("image");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",a)},y=(s,t,r,e)=>{const n=s.append("use");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),p=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,y as b,h as c,c as d,p as e,d as f,g}; diff --git a/_nuxt/timeline-definition-732a2638.QSBqIbe2.js b/_nuxt/timeline-definition-732a2638.635c9l2G.js similarity index 99% rename from _nuxt/timeline-definition-732a2638.QSBqIbe2.js rename to _nuxt/timeline-definition-732a2638.635c9l2G.js index 0770174e6d..72fe55eb72 100644 --- a/_nuxt/timeline-definition-732a2638.QSBqIbe2.js +++ b/_nuxt/timeline-definition-732a2638.635c9l2G.js @@ -1,4 +1,4 @@ -import{b2 as ft,A as gt,c as mt,l as E,h as G,u as xt,b3 as bt,b4 as _t,b5 as kt}from"./mermaid-934d9bea.A2NtSsGH.js";import{a as D}from"./arc.qN4MtU4T.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./path.aUcfwwLI.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: +import{b2 as ft,A as gt,c as mt,l as E,h as G,u as xt,b3 as bt,b4 as _t,b5 as kt}from"./mermaid-934d9bea.1859dh9d.js";import{a as D}from"./arc.ndZ8SnWc.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./path.aUcfwwLI.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: `+k.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":J="Parse error on line "+(T+1)+": Unexpected "+(_==A?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(J,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:I,expected:j})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(S[0]){case 1:c.push(_),u.push(k.yytext),o.push(k.yylloc),c.push(S[1]),_=null,W=k.yyleng,x=k.yytext,T=k.yylineno,I=k.yylloc;break;case 2:if(N=this.productions_[S[1]][1],R.$=u[u.length-N],R._$={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},P&&(R._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),Z=this.performAction.apply(R,[x,W,T,w.yy,S[1],u,o].concat(B)),typeof Z<"u")return Z;N&&(c=c.slice(0,-1*N*2),u=u.slice(0,-1*N),o=o.slice(0,-1*N)),c.push(this.productions_[S[1]][0]),u.push(R.$),o.push(R._$),Y=$[c[c.length-2]][c[c.length-1]],c.push(Y);break;case 3:return!0}}return!0}},b=function(){var g={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,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 i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.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),i},unput:function(i){var r=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;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),c.length-1&&(this.yylineno-=c.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:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[u[0],u[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(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/_nuxt/useStudio.QOPDACwZ.js b/_nuxt/useStudio.XgpbW4L4.js similarity index 99% rename from _nuxt/useStudio.QOPDACwZ.js rename to _nuxt/useStudio.XgpbW4L4.js index 1b271928e7..126cd4d137 100644 --- a/_nuxt/useStudio.QOPDACwZ.js +++ b/_nuxt/useStudio.XgpbW4L4.js @@ -1,4 +1,4 @@ -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 E,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 M,x as Z,y as H,z as le,A as pe,B as ue,C as fe,D as F}from"./entry.q1HaRjkf.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)),he={key:0},me=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)),_e=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 m=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const h=await s.syncPreview(T);if(o.value!==!0){if(!h){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.ktinZ6MN.js"),__vite__mapDeps([]),import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let h;a.on("connect",()=>{h=setTimeout(()=>{o.value||(h=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{h&&(clearTimeout(h),h=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,h)=>(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:m}," Close ")],64)):E("",!0)],2)):E("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",he,[me,w("div",{id:"__preview_loader"},[ye,_e,w("button",{onClick:m}," Cancel ")])])):E("",!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:m}," Exit preview ")])])):E("",!0)]),_:1})]))}}),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(m=>m.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(m=>{a.parsed[m]=o.pathMeta[m]}))}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 u=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${u}:`);await Promise.all(v.map(p=>e.removeItem(p)));const t=new Set(n.map(p=>p.parsed._id.split(":").shift()));await e.setItem(`${u}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(p=>e.setItem(`${u}:${p.parsed._id}`,JSON.stringify(p.parsed))))},l=e=>{const n=M(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,u,v,t;const n=(t=(v=(u=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:u.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)||{}))),M(i,n.updateTheme,[H(e,y)]))},m=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 u=n.find(t=>t.path===C.appConfig);l(u==null?void 0:u.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:m,requestPreviewSyncAPI:b}).mount(n)},h=async e=>{var u,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((u=r.value)==null?void 0:u.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}=M(i,pe);for(const n in e.value)e.value[n]&&(e.value[n]=await h(e.value[n]._id))}ue(()=>{M(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:h,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=$(""),u=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:p,payload:x={}}=t.data||{};switch(p){case"nuxt-studio:editor:file-selected":{const _=await h(x.path);_&&(_._partial||_._path!==U().path&&(d.value=_._path,e.push(_._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:_=[],deletions:N=[]}=x;for(const k of _)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{m(x);break}case"nuxt-studio:config:file-changed":{const{additions:_=[],deletions:N=[]}=x,k=_.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 K=_.find(S=>S.path===C.tokensConfig);K&&a(K==null?void 0:K.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:p})=>{t.meta.studio_page_contentId=p==null?void 0:p._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:u(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),p=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===p[0]){d.value="";return}window.openContentInStudioEditor(p,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,p={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...u(n),contentIds:t,...p}},"*")}}};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 E,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 M,x as Z,y as H,z as le,A as pe,B as ue,C as fe,D as F}from"./entry.DMNM28aL.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)),he={key:0},me=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)),_e=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 m=async()=>{D("previewToken").value="",window.sessionStorage.removeItem("previewToken"),await y.replace({query:{preview:void 0}}),window.location.reload()},b=async T=>{const h=await s.syncPreview(T);if(o.value!==!0){if(!h){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.ktinZ6MN.js"),__vite__mapDeps([]),import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken}});let h;a.on("connect",()=>{h=setTimeout(()=>{o.value||(h=setTimeout(()=>{l.value="Preview sync timed out",o.value=!1},3e4),a.emit("draft:requestSync"))},3e4)});const I=()=>{h&&(clearTimeout(h),h=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,h)=>(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:m}," Close ")],64)):E("",!0)],2)):E("",!0),O(B,{name:"preview-loading"},{default:J(()=>[r.value&&!o.value&&!l.value?(q(),L("div",he,[me,w("div",{id:"__preview_loader"},[ye,_e,w("button",{onClick:m}," Cancel ")])])):E("",!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:m}," Exit preview ")])])):E("",!0)]),_:1})]))}}),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(m=>m.path===o.oldPath);a&&(a.path=o.path,o.parsed?a.parsed=o.parsed:o.pathMeta&&["_file","_path","_id","_locale"].forEach(m=>{a.parsed[m]=o.pathMeta[m]}))}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 u=window.sessionStorage.getItem("previewToken"),v=await e.getKeys(`${u}:`);await Promise.all(v.map(p=>e.removeItem(p)));const t=new Set(n.map(p=>p.parsed._id.split(":").shift()));await e.setItem(`${u}$`,JSON.stringify({ignoreSources:Array.from(t)})),await Promise.all(n.map(p=>e.setItem(`${u}:${p.parsed._id}`,JSON.stringify(p.parsed))))},l=e=>{const n=M(i,Z);Q(n,H(e,f)),e||G(n,f)},a=e=>{var d,u,v,t;const n=(t=(v=(u=(d=i==null?void 0:i.vueApp)==null?void 0:d._context)==null?void 0:u.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)||{}))),M(i,n.updateTheme,[H(e,y)]))},m=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 u=n.find(t=>t.path===C.appConfig);l(u==null?void 0:u.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:m,requestPreviewSyncAPI:b}).mount(n)},h=async e=>{var u,v,t;const n=window.sessionStorage.getItem("previewToken");if(!e)return null;e=e.replace(/\/$/,"");let d=await((u=r.value)==null?void 0:u.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}=M(i,pe);for(const n in e.value)e.value[n]&&(e.value[n]=await h(e.value[n]._id))}ue(()=>{M(i,fe)})};return{apiURL:s==null?void 0:s.apiURL,contentStorage:r,syncPreviewFiles:o,syncPreviewAppConfig:l,syncPreviewTokensConfig:a,requestPreviewSynchronization:b,findContentWithId:h,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=$(""),u=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:p,payload:x={}}=t.data||{};switch(p){case"nuxt-studio:editor:file-selected":{const _=await h(x.path);_&&(_._partial||_._path!==U().path&&(d.value=_._path,e.push(_._path)));break}case"nuxt-studio:editor:file-changed":{const{additions:_=[],deletions:N=[]}=x;for(const k of _)await I(k);for(const k of N)await P(k.path);R();break}case"nuxt-studio:preview:sync":{m(x);break}case"nuxt-studio:config:file-changed":{const{additions:_=[],deletions:N=[]}=x,k=_.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 K=_.find(S=>S.path===C.tokensConfig);K&&a(K==null?void 0:K.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:p})=>{t.meta.studio_page_contentId=p==null?void 0:p._id}),i.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:u(U())},"*"),setTimeout(()=>{v()},100)});function v(){const t=Array.from(window.document.querySelectorAll("[data-content-id]")).map(x=>x.getAttribute("data-content-id")),p=Array.from(new Set([n.meta.studio_page_contentId,...t])).filter(Boolean);if(d.value===p[0]){d.value="";return}window.openContentInStudioEditor(p,{navigate:!0,pageContentId:n.meta.studio_page_contentId})}window.openContentInStudioEditor=(t,p={})=>{window.parent.postMessage({type:"nuxt-studio:preview:navigate",payload:{...u(n),contentIds:t,...p}},"*")}}};export{qe as useStudio}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/_nuxt/xychartDiagram-f746c04c.81MrJfP4.js b/_nuxt/xychartDiagram-f746c04c.myk7Rj4p.js similarity index 99% rename from _nuxt/xychartDiagram-f746c04c.81MrJfP4.js rename to _nuxt/xychartDiagram-f746c04c.myk7Rj4p.js index 5a3e3dda37..164732e672 100644 --- a/_nuxt/xychartDiagram-f746c04c.81MrJfP4.js +++ b/_nuxt/xychartDiagram-f746c04c.myk7Rj4p.js @@ -1,4 +1,4 @@ -import{aZ as zt,a_ as ot,aL as wt,aK as Ft,s as Nt,g as Xt,x as Yt,y as St,a as Ht,b as $t,A as Ut,l as _t,aI as qt,i as jt,d as Gt}from"./mermaid-934d9bea.A2NtSsGH.js";import{a as Qt}from"./createText-aebacdfe.T0gmTUMP.js";import{i as Kt}from"./init.Hi12RPRh.js";import{o as Zt}from"./ordinal.d2xiFBCc.js";import{l as ft}from"./linear.eWEBA0QA.js";import{l as pt}from"./line.GPn4lxsZ.js";import"./entry.q1HaRjkf.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";function Jt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,v,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?v=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),v=F[W]&&F[W][D]),typeof v>"u"||!v.length||!v[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: +import{aZ as zt,a_ as ot,aL as wt,aK as Ft,s as Nt,g as Xt,x as Yt,y as St,a as Ht,b as $t,A as Ut,l as _t,aI as qt,i as jt,d as Gt}from"./mermaid-934d9bea.1859dh9d.js";import{a as Qt}from"./createText-aebacdfe.wmc7v5UB.js";import{i as Kt}from"./init.Hi12RPRh.js";import{o as Zt}from"./ordinal.d2xiFBCc.js";import{l as ft}from"./linear.4Z5a_r3t.js";import{l as pt}from"./line.ik9Fl7Dj.js";import"./entry.DMNM28aL.js";import"./_commonjsHelpers.5-cIlDoe.js";import"./array.Nw74a44z.js";import"./path.aUcfwwLI.js";function Jt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,v,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?v=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),v=F[W]&&F[W][D]),typeof v>"u"||!v.length||!v[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: `+k.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[D]||D)+"'":et="Parse error on line "+(U+1)+": Unexpected "+(D==xt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(et,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:tt,expected:j})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+D);switch(v[0]){case 1:u.push(D),b.push(k.yytext),a.push(k.yylloc),u.push(v[1]),D=null,gt=k.yyleng,x=k.yytext,U=k.yylineno,tt=k.yylloc;break;case 2:if(M=this.productions_[v[1]][1],O.$=b[b.length-M],O._$={first_line:a[a.length-(M||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(M||1)].first_column,last_column:a[a.length-1].last_column},Wt&&(O._$.range=[a[a.length-(M||1)].range[0],a[a.length-1].range[1]]),it=this.performAction.apply(O,[x,gt,U,B.yy,v[1],b,a].concat(Bt)),typeof it<"u")return it;M&&(u=u.slice(0,-1*M*2),b=b.slice(0,-1*M),a=a.slice(0,-1*M)),u.push(this.productions_[v[1]][0]),b.push(O.$),a.push(O._$),dt=F[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},It=function(){var V={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||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 l=r.match(/(?:\r\n?|\n).*/g);return l?(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 l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;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),u.length-1&&(this.yylineno-=u.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:u?(u.length===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),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(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/_payload.json b/_payload.json index c8ecf5d514..b1173833a7 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;}",1706998487422] \ 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;}",1707039423464] \ 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 34f1a2f194..5bc3987115 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;}",1706998490495] \ 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;}",1707039427306] \ 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 6962c0f9e8..957919c5ac 100644 --- a/advanced/customize-recaptcha-script-loading/index.html +++ b/advanced/customize-recaptcha-script-loading/index.html @@ -26,42 +26,42 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - + - + - -
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 + +
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.1706998447920.json b/api/_content/cache.1707039384106.json similarity index 99% rename from api/_content/cache.1706998447920.json rename to api/_content/cache.1707039384106.json index aa038ac925..239e92e0ee 100644 --- a/api/_content/cache.1706998447920.json +++ b/api/_content/cache.1707039384106.json @@ -1 +1 @@ -{"generatedAt":1706998487379,"generateTime":2773,"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":">"}]}]},{"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":" submit"}]}]},{"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":{"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:#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":24},"children":[{"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":"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":">"}]}]},{"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":" submit"}]}]},{"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":"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":{"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":">"}]}]},{"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":" {{ nameError }}"}]}]},{"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":{"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":"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":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:#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":">"}]}]},{"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":" {{ recaptchaError }}"}]}]},{"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":"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":35},"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":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" Submit"}]}]},{"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":"span","props":{"class":"line","line":38},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":39},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":40},"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":">"}]}]},{"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":" {{ nameError }}"}]}]},{"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":{"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":"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":32},"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":">"}]}]},{"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":" Submit"}]}]},{"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":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"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":"span","props":{"class":"line","line":38},"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":1707039423427,"generateTime":3071,"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":">"}]}]},{"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":" submit"}]}]},{"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":{"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:#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":24},"children":[{"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":"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":">"}]}]},{"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":" submit"}]}]},{"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":"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":{"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":">"}]}]},{"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":" {{ nameError }}"}]}]},{"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":{"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":"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":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:#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":">"}]}]},{"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":" {{ recaptchaError }}"}]}]},{"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":"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":35},"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":">"}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" Submit"}]}]},{"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":"span","props":{"class":"line","line":38},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":39},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":40},"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":">"}]}]},{"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":" {{ nameError }}"}]}]},{"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":{"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":"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":32},"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":">"}]}]},{"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":" Submit"}]}]},{"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":"span","props":{"class":"line","line":35},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line","line":36},"children":[{"type":"element","tag":"span","props":{"style":"color:#24292E;--shiki-dark:#E1E4E8"},"children":[{"type":"text","value":" "}]}]},{"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":"span","props":{"class":"line","line":38},"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.1706998447920.json b/api/_content/navigation/u7BbTyuhiE.1707039384106.json similarity index 100% rename from api/_content/navigation/u7BbTyuhiE.1706998447920.json rename to api/_content/navigation/u7BbTyuhiE.1707039384106.json diff --git a/api/_content/query/5o97oNYApY.1706998447920.json b/api/_content/query/5o97oNYApY.1707039384106.json similarity index 100% rename from api/_content/query/5o97oNYApY.1706998447920.json rename to api/_content/query/5o97oNYApY.1707039384106.json diff --git a/api/_content/query/6Ma98zDOAL.1706998447920.json b/api/_content/query/6Ma98zDOAL.1707039384106.json similarity index 100% rename from api/_content/query/6Ma98zDOAL.1706998447920.json rename to api/_content/query/6Ma98zDOAL.1707039384106.json diff --git a/api/_content/query/71x6tI7TZ6.1706998447920.json b/api/_content/query/71x6tI7TZ6.1707039384106.json similarity index 100% rename from api/_content/query/71x6tI7TZ6.1706998447920.json rename to api/_content/query/71x6tI7TZ6.1707039384106.json diff --git a/api/_content/query/7iVMcekoeE.1706998447920.json b/api/_content/query/7iVMcekoeE.1707039384106.json similarity index 100% rename from api/_content/query/7iVMcekoeE.1706998447920.json rename to api/_content/query/7iVMcekoeE.1707039384106.json diff --git a/api/_content/query/M3XVXw3HJU.1706998447920.json b/api/_content/query/M3XVXw3HJU.1707039384106.json similarity index 100% rename from api/_content/query/M3XVXw3HJU.1706998447920.json rename to api/_content/query/M3XVXw3HJU.1707039384106.json diff --git a/api/_content/query/MNRZfjwhUr.1706998447920.json b/api/_content/query/MNRZfjwhUr.1707039384106.json similarity index 100% rename from api/_content/query/MNRZfjwhUr.1706998447920.json rename to api/_content/query/MNRZfjwhUr.1707039384106.json diff --git a/api/_content/query/RR98Iqj5nh.1706998447920.json b/api/_content/query/RR98Iqj5nh.1707039384106.json similarity index 100% rename from api/_content/query/RR98Iqj5nh.1706998447920.json rename to api/_content/query/RR98Iqj5nh.1707039384106.json diff --git a/api/_content/query/SeoqWQG0fS.1706998447920.json b/api/_content/query/SeoqWQG0fS.1707039384106.json similarity index 100% rename from api/_content/query/SeoqWQG0fS.1706998447920.json rename to api/_content/query/SeoqWQG0fS.1707039384106.json diff --git a/api/_content/query/T9GHEEsuxc.1706998447920.json b/api/_content/query/T9GHEEsuxc.1707039384106.json similarity index 100% rename from api/_content/query/T9GHEEsuxc.1706998447920.json rename to api/_content/query/T9GHEEsuxc.1707039384106.json diff --git a/api/_content/query/TdqgdZYwVh.1706998447920.json b/api/_content/query/TdqgdZYwVh.1707039384106.json similarity index 100% rename from api/_content/query/TdqgdZYwVh.1706998447920.json rename to api/_content/query/TdqgdZYwVh.1707039384106.json diff --git a/api/_content/query/a9mJ5sb0Ut.1706998447920.json b/api/_content/query/a9mJ5sb0Ut.1707039384106.json similarity index 100% rename from api/_content/query/a9mJ5sb0Ut.1706998447920.json rename to api/_content/query/a9mJ5sb0Ut.1707039384106.json diff --git a/api/_content/query/brX4CwCJoQ.1706998447920.json b/api/_content/query/brX4CwCJoQ.1707039384106.json similarity index 100% rename from api/_content/query/brX4CwCJoQ.1706998447920.json rename to api/_content/query/brX4CwCJoQ.1707039384106.json diff --git a/api/_content/query/cYHfkdXNA9.1706998447920.json b/api/_content/query/cYHfkdXNA9.1707039384106.json similarity index 100% rename from api/_content/query/cYHfkdXNA9.1706998447920.json rename to api/_content/query/cYHfkdXNA9.1707039384106.json diff --git a/api/_content/query/cwi4DXcuTN.1706998447920.json b/api/_content/query/cwi4DXcuTN.1707039384106.json similarity index 100% rename from api/_content/query/cwi4DXcuTN.1706998447920.json rename to api/_content/query/cwi4DXcuTN.1707039384106.json diff --git a/api/_content/query/enlVh97sWo.1706998447920.json b/api/_content/query/enlVh97sWo.1707039384106.json similarity index 100% rename from api/_content/query/enlVh97sWo.1706998447920.json rename to api/_content/query/enlVh97sWo.1707039384106.json diff --git a/api/_content/query/ilY3438huT.1706998447920.json b/api/_content/query/ilY3438huT.1707039384106.json similarity index 100% rename from api/_content/query/ilY3438huT.1706998447920.json rename to api/_content/query/ilY3438huT.1707039384106.json diff --git a/api/_content/query/llVwSUGQ8t.1706998447920.json b/api/_content/query/llVwSUGQ8t.1707039384106.json similarity index 100% rename from api/_content/query/llVwSUGQ8t.1706998447920.json rename to api/_content/query/llVwSUGQ8t.1707039384106.json diff --git a/api/_content/query/nEtvTjdOht.1706998447920.json b/api/_content/query/nEtvTjdOht.1707039384106.json similarity index 100% rename from api/_content/query/nEtvTjdOht.1706998447920.json rename to api/_content/query/nEtvTjdOht.1707039384106.json diff --git a/api/_content/query/nkLpzwYCmw.1706998447920.json b/api/_content/query/nkLpzwYCmw.1707039384106.json similarity index 100% rename from api/_content/query/nkLpzwYCmw.1706998447920.json rename to api/_content/query/nkLpzwYCmw.1707039384106.json diff --git a/api/_content/query/o37MdY9M7h.1706998447920.json b/api/_content/query/o37MdY9M7h.1707039384106.json similarity index 100% rename from api/_content/query/o37MdY9M7h.1706998447920.json rename to api/_content/query/o37MdY9M7h.1707039384106.json diff --git a/api/_content/query/qD1kmuf7LZ.1706998447920.json b/api/_content/query/qD1kmuf7LZ.1707039384106.json similarity index 100% rename from api/_content/query/qD1kmuf7LZ.1706998447920.json rename to api/_content/query/qD1kmuf7LZ.1707039384106.json diff --git a/api/_content/query/qI1iJDV4vv.1706998447920.json b/api/_content/query/qI1iJDV4vv.1707039384106.json similarity index 100% rename from api/_content/query/qI1iJDV4vv.1706998447920.json rename to api/_content/query/qI1iJDV4vv.1707039384106.json diff --git a/api/_content/query/qIaVkSSVbL.1706998447920.json b/api/_content/query/qIaVkSSVbL.1707039384106.json similarity index 100% rename from api/_content/query/qIaVkSSVbL.1706998447920.json rename to api/_content/query/qIaVkSSVbL.1707039384106.json diff --git a/api/_content/query/s1rpjBKntu.1706998447920.json b/api/_content/query/s1rpjBKntu.1707039384106.json similarity index 100% rename from api/_content/query/s1rpjBKntu.1706998447920.json rename to api/_content/query/s1rpjBKntu.1707039384106.json diff --git a/api/_content/query/udG4RswcBp.1706998447920.json b/api/_content/query/udG4RswcBp.1707039384106.json similarity index 100% rename from api/_content/query/udG4RswcBp.1706998447920.json rename to api/_content/query/udG4RswcBp.1707039384106.json diff --git a/api/_content/query/wrDfznErw4.1706998447920.json b/api/_content/query/wrDfznErw4.1707039384106.json similarity index 100% rename from api/_content/query/wrDfznErw4.1706998447920.json rename to api/_content/query/wrDfznErw4.1707039384106.json diff --git a/api/_content/query/xIJVJksIkT.1706998447920.json b/api/_content/query/xIJVJksIkT.1707039384106.json similarity index 100% rename from api/_content/query/xIJVJksIkT.1706998447920.json rename to api/_content/query/xIJVJksIkT.1707039384106.json diff --git a/api/_content/query/xWeY3NfYtX.1706998447920.json b/api/_content/query/xWeY3NfYtX.1707039384106.json similarity index 100% rename from api/_content/query/xWeY3NfYtX.1706998447920.json rename to api/_content/query/xWeY3NfYtX.1707039384106.json diff --git a/api/_content/query/y5OZXjriWq.1706998447920.json b/api/_content/query/y5OZXjriWq.1707039384106.json similarity index 100% rename from api/_content/query/y5OZXjriWq.1706998447920.json rename to api/_content/query/y5OZXjriWq.1707039384106.json diff --git a/api/_content/query/zlYjVpH9OK.1706998447920.json b/api/_content/query/zlYjVpH9OK.1707039384106.json similarity index 100% rename from api/_content/query/zlYjVpH9OK.1706998447920.json rename to api/_content/query/zlYjVpH9OK.1707039384106.json diff --git a/components/_payload.json b/components/_payload.json index 50602bbde0..7eb0366a25 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;}",1706998490481] \ 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;}",1707039427292] \ No newline at end of file diff --git a/components/challenge-v2/_payload.json b/components/challenge-v2/_payload.json index 25189ef945..15df22bfd5 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;}",1706998490486] \ 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;}",1707039427297] \ No newline at end of file diff --git a/components/challenge-v2/index.html b/components/challenge-v2/index.html index ea4b20dd63..0353d192de 100644 --- a/components/challenge-v2/index.html +++ b/components/challenge-v2/index.html @@ -37,61 +37,61 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 bc3c0d841c..ea355c363b 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;}",1706998490487] \ 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;}",1707039427299] \ No newline at end of file diff --git a/components/challenge-v3/index.html b/components/challenge-v3/index.html index c9889efa21..8b629d21ca 100644 --- a/components/challenge-v3/index.html +++ b/components/challenge-v3/index.html @@ -37,59 +37,59 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 863a23f836..88cd5c2c34 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;}",1706998490483] \ 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;}",1707039427294] \ No newline at end of file diff --git a/components/checkbox/index.html b/components/checkbox/index.html index 90b3b6d6e6..f5b668d4e4 100644 --- a/components/checkbox/index.html +++ b/components/checkbox/index.html @@ -36,60 +36,60 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 c44845684a..28bcb0844d 100644 --- a/components/index.html +++ b/components/index.html @@ -29,49 +29,49 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 1d8ce7f1af..fa8029497f 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;}",1706998490491] \ 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;}",1707039427302] \ No newline at end of file diff --git a/composables/challenge-v2/index.html b/composables/challenge-v2/index.html index 2642848f21..52960f051d 100644 --- a/composables/challenge-v2/index.html +++ b/composables/challenge-v2/index.html @@ -28,44 +28,44 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - + + - + - + - -
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 + +
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 b5d35ce91f..3a0fad698b 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;}",1706998490493] \ 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;}",1707039427304] \ No newline at end of file diff --git a/composables/challenge-v3/index.html b/composables/challenge-v3/index.html index ae8097aad3..fecf64466e 100644 --- a/composables/challenge-v3/index.html +++ b/composables/challenge-v3/index.html @@ -29,45 +29,45 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - + - + - -
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 + +
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 bef38a8e2d..1960aae26c 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;}",1706998490489] \ 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;}",1707039427300] \ No newline at end of file diff --git a/composables/recaptcha-provider/index.html b/composables/recaptcha-provider/index.html index f3a5dbff72..4885ae8b37 100644 --- a/composables/recaptcha-provider/index.html +++ b/composables/recaptcha-provider/index.html @@ -25,41 +25,41 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + - + - + - -
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 + +
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 8ac448fdc2..766e3bd215 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;}",1706998490231] \ 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;}",1707039427027] \ No newline at end of file diff --git a/guide/enterprise/_payload.json b/guide/enterprise/_payload.json index 6b767a6140..7f00a5c96a 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;}",1706998490477] \ 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;}",1707039427288] \ No newline at end of file diff --git a/guide/enterprise/index.html b/guide/enterprise/index.html index deb3f22199..30ded7e7d0 100644 --- a/guide/enterprise/index.html +++ b/guide/enterprise/index.html @@ -26,42 +26,42 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - + - + - -
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 + +
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 50c84c1604..599e506b88 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;}",1706998490479] \ 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;}",1707039427290] \ No newline at end of file diff --git a/guide/faq/index.html b/guide/faq/index.html index d0ea4014c0..bc4b3ec4db 100644 --- a/guide/faq/index.html +++ b/guide/faq/index.html @@ -24,40 +24,40 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - + - + - -
Currently you are viewing v3 document of vue-recaptcha which is still in development
- \ No newline at end of file + +
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 9973fa5a6b..b51e2d3ede 100644 --- a/guide/index.html +++ b/guide/index.html @@ -31,48 +31,48 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 18fbb8d7a8..f99560c7dd 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;}",1706998490475] \ 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;}",1707039427286] \ No newline at end of file diff --git a/guide/migration/index.html b/guide/migration/index.html index eb142e6d17..78e125dd1c 100644 --- a/guide/migration/index.html +++ b/guide/migration/index.html @@ -26,42 +26,42 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - + - + - -
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 + +
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 20da4548d2..8a4d99b1f7 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;}",1706998490472] \ 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;}",1707039427284] \ No newline at end of file diff --git a/guide/nuxt/index.html b/guide/nuxt/index.html index 35bc9e5985..1e0de914cf 100644 --- a/guide/nuxt/index.html +++ b/guide/nuxt/index.html @@ -32,49 +32,49 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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 9ade0398ec..2cca41f044 100644 --- a/index.html +++ b/index.html @@ -25,32 +25,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -59,25 +59,25 @@ - - - - - - - - - - - + + + + + + + + + + + - + - + - + - -
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 + +
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 75b7a32616..f8090d8f62 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;}",1706998490496] \ 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;}",1707039427307] \ No newline at end of file diff --git a/integration/vee-validation/index.html b/integration/vee-validation/index.html index 7951f9a79b..2e7dac3074 100644 --- a/integration/vee-validation/index.html +++ b/integration/vee-validation/index.html @@ -28,54 +28,54 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - + - + - -
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 + +
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